La gestión de servicios en Solaris es algo distinta a cómo se gestionan en Linux. En Solaris, sobre todo tenemos que hablar de instancias de servicios. Una instancia de servicio en Solaris es parte de un servicio, pero son las instancias las que tienen estado y pueden iniciarse y detenerse.
Por ejemplo, sabemos que existe el servicio collectd
Pues la instancia del servicio de collectd es:
svc:/network/cswcollectd:default
La forma más rápida de comprobar el estado de un servicio en Solaris es con el comando ps -ef y haciendo un grep para buscar el servicio.
ps -ef | grep collectd
De esa forma veremos las instancias del servicio que se encuentren en ejecución, y además otra información útil como el tiempo que lleva en ejecución (Columna TIME) y la hora exacta en que entró en ese estado (columna STIME).
Esta ha sido una forma rápida de comprobar el estado de un servicio en Solaris, pero la gestión avanzada de servicios en Solaris se lleva a cabo con el comando svcs.
Veamos algo más sobre los servicios en Solaris:
Vamos a ver cómo mostrar el estado de un servicio, o mejor dicho instancia de servicio en Solaris.
Si usamos el comando svcs sin opciones, podemos listar las instancias de servicios en Solaris habilitadas en el sistema, y su estado:
Muestra las columnas:
Por ejemplo, para el servicio collectd sería:
svc:/network/cswcollectd:default
Con svcs -a veremos las instancias habilitadas y las deshabilitadas
Mostramos la info extendida de una instancia de servicio con
svcs -l servicio
Esta info extendida incluye dónde se encuentra el fichero de log, el archivo de configuración, las dependencias, y el state_time (momento en que el servicio entró en el estado que se muestra).
En este caso mostramos el servicio collectd, que en solaris es :
En Solaris, realmente lo que hacemos es reiniciar instancias de servicios. Para gestionar y administrar las instancias de servicios en Solaris usamos el comando svcadm.
Por ejemplo, para reiniciar collectd, tal y como hemos visto con los comandos anteriores, primero averiguamos el FMRI del servicio collectd, con el comando svcs.
root@solaris:~# svcs -a | grep collectd
online 21:59:15 svc:/network/cswcollectd:default
De aquí hemos sacado el FMRI del servicio, su “identificador de recursos de administración de fallos“.
También podemos averiguarlo listando la info extendida con svcs -l .
root@solaris:~# svcs -l cswcollectd
fmri svc:/network/cswcollectd:default
enabled true
state online
next_state none
state_time February 26, 2020 at 9:59:15 PM CET
logfile /var/svc/log/network-cswcollectd:default.log
restarter svc:/system/svc/restarter:default
contract_id 212
manifest /var/opt/csw/svc/manifest/network/cswcollectd.xml
dependency require_all/none svc:/system/filesystem/local (online)
dependency require_all/none svc:/network/loopback (online)
Y ahora si queremos reiniciar la instancia del servicio, usaremos el comando svcadm
svcadm restart FMRI
En el caso del servicio collectd será:
svcadm restart svc:/network/cswcollectd:default
o más corto:
svcadm restart cswcollectd