Eu tenho vários computadores e cada computador está iniciando tarefas cron a torto e a direito.
Esses são computadores servidores e computadores desktop.
Em computadores desktop, seria inconveniente se um usuário desligasse o computador enquanto um cron job estivesse em execução.
Estou pensando em executar o comando shutdown e fazer com que os usuários desliguem por meio de uma função dedicada, que, por sua vez, executaria o comando shutdown, mas apenas quando todos os cron jobs parassem de ser executados.
Estou pensando mal nisso de alguma forma?
Ou o comando shutdown já leva em consideração os cron jobs?
O comando shutdown não sabe nada sobre cron jobs, mas se você estiver em um sistema moderno, o shutdown é realmente controlado pelo systemd, e o systemd conhece os inibidores , que permitem impedir certas atividades - como desligamento do sistema, suspensão, etc - enquanto um comando está em execução.
Você pode usar o
systemd-inhibit
comando para executar um comando com bloqueio inibidor. Portanto, se você tiver um cron job que faz algo que não deveria ser interrompido - como fazer um backup do sistema ou instalar atualizações de pacotes - você pode substituir algo como...Com: