Eu recomendaria adicionar esse código ao link do script
Ou use a tela.
Edit: Este é um pouco mais moderno, mas eu não usei (eu uso algo personalizado) link
Eu tenho um script executando python script.py
em uma nova tela, mas às vezes o script é morto:
18
21
Restarting processes... done
2
Killed
Como posso proteger o script de ser morto mesmo quando fecho o console? Devo usar & ou nohup?
Você quer dizer que está sendo executado em uma sessão GNU screen
? Nesse caso, ele não deve ser morto a menos que haja algum problema com o script e termine devido a esse problema.
Se você não usa screen
, use começar a usá-lo ou tmux
(que eu gosto mais).
A maneira moderna de fazer isso é usando o systemd. Você acabou de criar a unidade de serviço com type = Simple sem qualquer tela / tmux e definir o restart = sempre para reiniciar o script em qualquer saída inesperada.
Ao invés do screen / tmux, você também pode usar o daemon start-stop-daemon - ferramenta nativa para sistemas baseados no Debian para demonizar aplicativos. Mas, reiniciando na saída, você deve implementar com ferramentas de terceiros, como monit.
Tags python linux scripting kill-process