Estoy buscando una manera de obtener una lista de todos los servicios (/etc/init.d o upstart o systemd), que se supone que están iniciando (o que se han iniciado desde) el arranque.
¿Cómo se obtiene una lista de todos los servicios iniciales? - Conozco esa pregunta, y sugiere usarla service --status-all
.
Pero eso no me muestra, qué servicios se supone que SE EJECUTAN . Llama a todos los scripts de inicio con " status
" argumento. Esta es una lista de todos los servicios que podrían estar ejecutándose.
Pero me gustaría saber, si un servicio, que se había iniciado en el arranque, todavía se está ejecutando.
Ejemplo…
Tengo instalado webfs. Pero no quiero que se ejecute en el arranque. Por lo tanto he deshabilitado que: sudo update-rc.d webfs disable
. Y también tengo samba instalada y debería estar ejecutándose en el arranque. Pero se detiene (por cualquier razón). sudo service --status-all
no me ayuda aquí:
$ sudo service --status-all 2>/dev/null | grep -E 'samba$|webfs'
[ - ] samba
[ - ] webfs
Ambos están apagados, pero no tengo ni idea, se supone que ese (samba) está encendido.
Entonces…
¿Cómo podría obtener una lista de todos los servicios que comienzan en el arranque? Y, como extensión, ¿hay una manera fácil de obtener el "estado" de estos servicios (si no, simplemente recorreré esta lista y ejecutaré "service $ service status", o algo así).
Gracias alexander
Editar 2015-05-04: Estoy en Ubuntu 14.04.
El enfoque principal de esta pregunta es el siguiente:
Pero me gustaría saber, si un servicio, que se había iniciado en el arranque, todavía se está ejecutando.
Debido a esto, initctl list
no ayuda mucho. Realmente no tiene en cuenta los servicios iniciados por /etc/init.d
scripts (en comparación con los scripts de inicio /etc/init
).
También una lista de /etc/rc?.d/S*
no ayuda. Generaría una lista de servicios, que podrían haberse iniciado en un determinado nivel de ejecución. No me muestra si un servicio que debería haberse iniciado todavía se está ejecutando.
Básicamente, estoy buscando algo como svcs -x
Solaris para Ubuntu. Con svcs -x
, tendría salida si un servicio, que se inició, ya no se ejecuta. Esto, también lo necesitaría para Ubuntu.
Motivo: Me gustaría tener una comprobación genérica (más o menos ...) para nuestro sistema de monitoreo Icinga / Nagios, que me alertaría, si un servicio ya no se está ejecutando, que debería estar ejecutándose. Como tenemos muchos servidores diferentes para muchos clientes diferentes, en realidad no se escala para definir una lista de servicios "importantes".
initctl list
qué enumera los procesos que se inician / ejecutan, pero esa lista también incluiría los procesos que se inician manualmente
initctl list
. Pero eso realmente no responde, ya que también mostraría servicios iniciados manualmente. Y no muestra servicios que no se están ejecutando.