Você pode simplesmente usar o comando initctl list
shell para listar o conteúdo de /etc/init
em vez do comando dbus-send
sugerido.
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.*
.
Você pode simplesmente usar o comando initctl list
shell para listar o conteúdo de /etc/init
em vez do comando dbus-send
sugerido.
A resposta rápida é: Depende do seu sistema init
.
A resposta mais longa é: Para versões atuais do Ubuntu, você provavelmente tem uma mistura de Upstart e SystemV . Versões mais recentes do Ubuntu depois de 15.04 "Vivid Vervet" (e outras distribuições Linux como RHEL / CentOS 7) estão se movendo para usar SystemD .
Para listar todos os serviços:
initctl list
Para listar todos os serviços do Upstart e executar initctl show-config
neles, esse recurso de uma linha pode ser útil:
initctl list | awk '{ print $1 }' | xargs -n1 initctl show-config
Para listar todos os serviços:
service --status-all
OR:
# for init scripts:
ls /etc/init.d/
# for runlevel symlinks:
ls /etc/rc*.d/
Para listar todos os serviços:
systemctl list-unit-files --type=service
OR:
ls /lib/systemd/system/*.service /etc/systemd/system/*.service
Os diretórios /etc/init.d
e /etc/rc.*
foram substituídos pela ferramenta de inicialização ' upstart
'. Embora os scripts nesses diretórios sejam executados conforme esperado, o novo método para executar coisas no init é definido por arquivos em /etc/init/
Você pode listar todos os trabalhos iniciantes consultando o upstart pelo 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.
Se você quiser uma boa representação gráfica dos serviços e o tempo que leva para inicializar, tente:
apt-get install bootchart
Id usa initctl show-config <servicename>
para realmente obter os detalhes de quando / se seu serviço será iniciado durante a inicialização.
Assim:
$ 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.
Em 12.04, poderíamos usar:
sudo apt-get install chkconfig
chkconfig --list
mas foi removido em 12.10 .
Exemplo 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
Usando o 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)}}'
Exemplo de saída:
$ 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