Acredito que sua pergunta de desligamento / desligamento seja (mais ou menos) respondida aqui:
Ao olhar para a (s) resposta (s) fornecida (s), gostaria de ajustar / resumir / resumir você provavelmente precisará de ambos, para usar o script de limpeza de sessão de tal forma que X não morrerá antes que você possa responder e executar o trabalho e um novo script /etc/init.d/
pequeno em um nível de execução suficientemente alto para "bloquear" ser desligado até que o script de limpeza de sessão chamado script do AutoFsck seja concluído.
Assim:
-
Adicione ao script session-cleanup definindo um sinalizador através de '
touch /etc/noreboot
' (ou similar) que é limpo pelo seu script de chamada AutoFsck (ou seja, remover o arquivo / etc / noreboot quando respondido não ou , se sim, removido apenas após a conclusão do AutoFsck) . -
Seu novo script
/etc/init.d
deve verificar a existência de / etc / noreboot e, se existir, verifique novamente a cada segundo ou dois em um loop while até que o arquivo seja removido. Uma vez que/etc/noreboot
não exista, o script pode ser concluído e permitir que o restante do processo de desligamento continue. Novamente, a chave aqui é certificar-se de que o script init.d seja executado antes que o desligamento do lightdm ou qualquer outro desligamento do X seja executado.
Como o X ainda deve estar em execução enquanto o script /etc/noreboot
check no init.d está em execução, você também pode enviar uma mensagem X para a tela informando que o desligamento está bloqueado aguardando a remoção do arquivo. Essa pequena mensagem inconveniente pode ser útil se o arquivo /etc/noreboot
não for limpo por algum motivo, impedindo o seu sistema de um desligamento normal.