Vamos a ver cómo comprobar el estado de un servicio en Solaris.
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:
- Comprobar servicios con el comando svcs en Solaris
- El comando svcs sin opciones
- Mostrar todas las instancias de servicios en Solaris: comando svcs -a
- Mostrar la información extendida de una instancia de servicio : svcs -l
- Reiniciar servicios en Solaris
Comprobar servicios con el comando svcs en Solaris
Vamos a ver cómo mostrar el estado de un servicio, o mejor dicho instancia de servicio en Solaris.
El comando svcs sin opciones
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:
- STATE (Estado)
- STIME, que muestra la hora en que la instancia entró en el estado listado
- y el FMRI, que es el “identificador de recursos de administración de fallos“. Este FMRI incluye el nombre del servicio y el de la instancia.
Por ejemplo, para el servicio collectd sería:
svc:/network/cswcollectd:default |
Mostrar todas las instancias de servicios: comando svcs -a
Con svcs -a veremos las instancias habilitadas y las deshabilitadas
Mostrar la información extendida de una instancia de servicio : svcs -l
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 :
Reiniciar servicios en Solaris
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 |