it-swarm-pt.tech

Comando para listar serviços que iniciam na inicialização?

Existe um comando para listar serviços que são executados na inicialização? Eu imagino que isso envolveria a análise de /etc/init.d/ e os vários diretórios /etc/rc.*.

134
Eric H

Você pode simplesmente usar o comando shell initctl list para listar o conteúdo de /etc/init em vez do comando dbus-send sugerido.

104
Scott

A resposta rápida é: Depende do seu sistema init.

A resposta longa é: Para as versões atuais do Ubuntu, você provavelmente tem uma combinação de pstart e SystemV . Versões mais recentes do Ubuntu após 15.04 "Vivid Vervet" (e outras distribuições do Linux como o RHEL/CentOS 7) estão se movendo para usar SystemD .

Upstart

Para listar todos os serviços:

initctl list

Para listar todos os serviços do Upstart e executar initctl show-config neles, este one-liner pode ser útil:

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

Sistema V

Para listar todos os serviços:

service --status-all

OU:

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

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

SystemD

Para listar todos os serviços:

systemctl list-unit-files --type=service

OU:

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

Os diretórios /etc/init.d e /etc/rc.* foram substituídos pela ferramenta init 'upstart'. Embora os scripts nesses diretórios sejam executados conforme o esperado, o novo método para executar coisas no init é definido pelos arquivos em /etc/init/

Você pode listar todos os trabalhos iniciantes consultando o upstart através do dbus:

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

Você pode ter que alterar 0_6 para refletir a versão do upstart que você possui. Este comando funciona na minha instalação lúcida.

13
Jeremy Kerr

Se você quiser uma boa representação gráfica dos serviços e o tempo que leva para inicializar, tente:

apt-get install bootchart
12
john

Id use initctl show-config <servicename> para realmente obter os detalhes de quando/se seu serviço iniciará durante a inicialização.

Igual a:

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

Ou para o daemon idmap do NFS4:

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

o chkconfig só é preferível em sistemas baseados em RedHat.

11
CBmemnon

No dia 12.04 poderíamos usar:

Sudo apt-get install chkconfig
chkconfig --list

mas foi removido em 12.1 .

Amostra de saída:

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

Além de serviços do sistema e scripts em:

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

Provavelmente existem Aplicativos AutoStart também, por exemplo:

find / -name "*autostart*"

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