Não realmente (pelo menos, que eu saiba).
Se você tiver scripts init estilo SystemV, poderá criar algo nos moldes de /etc/rc6.K00scriptname
e /etc/rc0.d/K00scriptname
, que devem ser executados antes de qualquer outro script existente.
Eu tenho alguns comandos que executo em rc.local
para que eles sejam executados por último na sequência de inicialização. Gostaria de saber se existe um recurso semelhante para desfazer os resultados desses comandos no encerramento, como um rc.shutdown
. Idealmente, seria executado antes de qualquer um dos outros scripts /etc/init.d
.
O ArchLinux tem um arquivo /etc/rc.local.shutdown
para isso. Não tenho certeza sobre outras distros
Geralmente é possível, mas depende do sistema init-scripts que você possui. Se sua distribuição usou uma versão recente de OpenRC (como o Gentoo faz), você poderia colocar qualquer script em /etc/local.d/
, call eles <something>.stop
e eles seriam executados no desligamento do sistema. Para versões mais antigas, você teria que colocar seus comandos dentro da função local_stop()
em /etc/conf.d/local
.
A ordem depende das configurações do sistema rc, mas normalmente os scripts locais são os últimos a serem executados na inicialização e o primeiro a ser executado no desligamento.
Se você tem upstart, você pode pegar o evento de desligamento e executar um script quando for pego.
No Gentoo , o script "local" faz exatamente o que você pede: Ele executa certos comandos especificados pelo usuário em 'start' e outro conjunto de comandos em cima de 'pare'.