it-swarm.dev

¿Comando para enumerar los servicios que comienzan en el inicio?

¿Hay un comando para enumerar los servicios que se ejecutan en el inicio? Me imagino que implicaría analizar /etc/init.d/, y los diversos directorios /etc/rc.*.

134
Eric H

Simplemente puede usar el comando Shell initctl list para enumerar el contenido de /etc/init en lugar del comando sugerido dbus-send.

104
Scott

La respuesta rápida es: depende de su sistema init.

La respuesta larga es: Para las versiones actuales de Ubuntu, probablemente tenga una combinación de pstart y SystemV . Las nuevas versiones de Ubuntu después de 15.04 "Vivid Vervet" (y otras distribuciones de Linux como RHEL/CentOS 7) se están moviendo para usar SystemD .

Advenedizo

Para enumerar todos los servicios:

initctl list

Para enumerar todos los servicios de Upstart y ejecutar initctl show-config en ellos, este resumen puede ser útil:

initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config

Sistema V

Para enumerar todos los servicios:

service --status-all

O:

# for init scripts:
ls /etc/init.d/

# for runlevel symlinks:
ls /etc/rc*.d/

SystemD

Para enumerar todos los servicios:

systemctl list-unit-files --type=service

O:

ls /lib/systemd/system/*.service /etc/systemd/system/*.service
117
TrinitronX

Los directorios /etc/init.d y /etc/rc.* han sido reemplazados por la herramienta de inicio 'upstart'. Aunque los scripts en estos directorios se ejecutarán como se esperaba, el nuevo método para ejecutar cosas en init está definido por los archivos en /etc/init/

Puede enumerar todos los trabajos de arranque con la consulta de arranque en dbus:

dbus-send --print-reply --system --dest=com.ubuntu.Upstart \
        /com/ubuntu/Upstart com.ubuntu.Upstart0_6.GetAllJobs

Puede que tenga que cambiar 0_6 para reflejar la versión de advenedizo que tiene. Este comando funciona en mi instalación lúcida.

13
Jeremy Kerr

Si desea una buena representación gráfica de los servicios y el tiempo que lleva arrancar, intente:

apt-get install bootchart
12
john

Usaría initctl show-config <servicename> para obtener realmente los detalles de cuándo/si su servicio se iniciará durante el arranque.

Al igual que:

$ initctl show-config myservice
myservice
  start on runlevel [2345]
  stop on runlevel [!2345]

O para NFS4 idmap-daemon:

$ initctl show-config idmapd
idmapd
  start on (local-filesystems or mounting TYPE=nfs4)
  stop on runlevel [06]

chkconfig solo es preferible en sistemas basados ​​en RedHat en mi humilde opinión.

11
CBmemnon

El 12.04 podríamos usar:

Sudo apt-get install chkconfig
chkconfig --list

pero fue eliminado en 12.1 .

Salida de muestra:

acpi-support              0:off  1:off  2:on   3:on   4:on   5:on   6:off
acpid                     0:off  1:off  2:off  3:off  4:off  5:off  6:off
apparmor                  0:off  1:off  2:off  3:off  4:off  5:off  6:off  S:on

Además de los servicios del sistema y scripts bajo:

/etc/init.d/
/lib/systemd/system/
/etc/systemd/system/

Probablemente hay Aplicaciones de inicio automático también, por ejemplo:

find / -name "*autostart*"

ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" "/usr/share/gdm/autostart"  "/usr/share/gnome/autostart"
0
Noam Manos