Home | :: | About | :: | Download | :: | Install | :: | Use | :: | Blog |
In Tribblix, all running services are controlled by SMF, the Service Management Facility. There are two key commands. The first is:
svcs
which lists the services and their status.
If you add the -a
flag, then all services will be shown (by
default, disabled services will be ignored). If you add the -p
flag, then the running processes associated with each service will be listed.
Not all services have long-running processes associated with them. Many just run something the once (often at boot).
Normally, you would expect to see a long list of services that are
online. Those are the active services. You may see a handful
listed as legacy_run - SMF still supports the old init system
that ran scripts from the /etc/rc*.d
directories. These
services aren't tracked. Any service in maintenance is broken,
indicating a problem.
The first thing to do when investigating a problem with a service is to ask SMF to explain what's wrong, using:
svcs -xv
The next thing is to check the logs associated with a service. These are
normally found in /var/svc/log
, but you can ask SMF where the
log for a given service. For example, the name of the log file for the zones
service would be shown by:
svcs -L zones
You may also have log files associated with the application, but if an
application is really broken it may not be able to write to its own logs.
In that case it might write a helpful error to stdout
or
stderr
, which will end up in the SMF logs.
You'll see that the services have a long name. This is called an FMRI
(Fault Managed Resource Identifier). Generally, you don't need the full
name, as the last unique element will suffice. The last part of the name,
after the colon (:
) is an instance. In most cases there's only
the one copy of a service, the default
) instance, but some
services have multiple instances which can be controlled independently.
The other command you need is svcadm
. For example, if you
had nginx installed, then you could enable nginx with:
svcadm enable nginx
Or disable it with:
svcadm disable nginx
If you need to restart it, you can either run disable and enable, or simply:
svcadm restart nginx
Imagine that nginx wasn't working, and ended up in the maintenance state. Once you've diagnosed and fixed the problem, you need to let SMF know that everything should be OK and it should try the service again:
svcadm clear nginx
Index | Previous Section | Next Section