Existe uma maneira de systemd
me dizer a ordem aproximada em que os serviços serão encerrados quando eu desligar todo o sistema? Como as systemd
coisas serão encerradas em paralelo, eu aprecio que não há como saber a ordem exata, mas ainda assim seria muito útil saber quais restrições systemd
imporão na sequência de desligamento, de preferência em algum tipo de visualização fácil de entender.
A motivação é que, para o desenvolvimento e depuração de arquivos de serviço, seria muito mais conveniente obter essa lista prevista com antecedência, em vez de ter que fazer um desligamento real e, em seguida, inicializar novamente e inspecionar os logs toda vez que eu quiser determinar que impacto uma alteração em um arquivo de unidade de serviço ou algum outro aspecto da configuração do systemd terá na ordem de desligamento.
Eu estava esperando que algo como
systemctl list-dependencies --before shutdown.service
faria o trabalho, mas emite apenas:
shutdown.service
fonte
shutdown.target
nãoshutdown.service
. No entanto, isso ainda não está fornecendo a lista ordenada solicitada, mas fornecendo uma lista muito curta ou mesmo vazia em alguns sistemas.systemctl list-dependencies --after shutdown.target
... pelo menos, que encontrará tudo o que o primeiro comando não encontrar. Também é confuso porqueshutdown.target
está começando , mas todas as outras unidades estão parando e, nesse caso, não importa se você tem um pedido "antes" ou "depois"; a parada é feita antes do início nos dois casos.A ordem de desligamento geralmente é o inverso da ordem de inicialização.
Dito isto, todos os daemons recebem um sinal de desligamento e levará uma quantidade variável de tempo para realmente desligar e sair.
Deixando para o systemd simples, não acho possível prever com utilidade quais serviços sairão em que sequência. Além disso, as dependências controlarão algumas seqüências.
fonte