Respuestas:
La respuesta rápida es: depende de su init
sistema.
La respuesta larga es: para las versiones actuales de Ubuntu, probablemente tenga una combinación de Upstart y SystemV . Las nuevas versiones de Ubuntu 15.04 después de "Vervet Vivid" (y otras distribuciones de Linux como RHEL / CentOS 7) se están moviendo a utilizar SystemD .
Para enumerar todos los servicios:
initctl list
Para enumerar todos los servicios de Upstart y ejecutarlos initctl show-config
, este resumen puede ser útil:
initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config
Para enumerar todos los servicios:
service --status-all
O:
# for init scripts:
ls /etc/init.d/
# for runlevel symlinks:
ls /etc/rc*.d/
Para enumerar todos los servicios:
systemctl list-unit-files --type=service
O:
ls /lib/systemd/system/*.service /etc/systemd/system/*.service
service --status-all
NO muestra si los servicios están habilitados para iniciarse en el arranque, al menos no en Ubuntu 16. Muestra si los servicios se están ejecutando actualmente o no.
sudo service --status-all
que obtener todos los servicios para aparecer. Algunos estaban ocultos cuando solo ejecuté service --status-all
en una cuenta no root.
systemctl
, service
, initctl
...), ya que generalmente se consideran comandos de administración del sistema.
Los directorios /etc/init.d
y /etc/rc.*
han sido reemplazados por la upstart
herramienta ' ' init. Aunque los scripts en estos directorios se ejecutarán como se esperaba, el nuevo método para ejecutar cosas en init está definido por 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.
initctl list
Es mucho mejor que este comando dbus. Sin embargo, me gustaría dejar esta respuesta aquí como referencia (en lugar de eliminarla por completo).
Lo 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.
El 12.04 podríamos usar:
sudo apt-get install chkconfig
chkconfig --list
pero fue eliminado en 12.10 .
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
Para Ubuntu 18.04 use:
systemctl list-units --type=service
en vez de :
initctl
A partir de Ubuntu 16.04, initctl
ha sido reemplazado por systemd
.
https://www.linuxtricks.fr/wiki/systemd-les-commandes-essentielles (FR_fr)
(Si puede ayudar @ sanjay-manohar)
Además de los servicios del sistema y scripts bajo:
/etc/init.d/
/ lib / systemd / system /
/ etc / systemd / system /
Probablemente también haya aplicaciones de inicio automático , por ejemplo:
find / -name "*autostart*"
ls -1 "/etc/xdg/autostart" "/home/$USER/.config/autostart" "/usr/share/gdm/autostart" "/usr/share/gnome/autostart"
Usando gawk:
ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}'
Salida de muestra:
$ ls -l /etc/rc*.d/* | gawk 'match($0, /rc([0-6S]).d.*\/(.*)$/, a) {l[a[2]]=l[a[2]]a[1]","}; END{for(v in l){print v,substr(l[v],1,length(l[v])-1)}}' | egrep README
README 0,1,2,3,4,5,6,S