Execute um script python que nunca é morto

3

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?

    
por donald 26.02.2012 / 23:22

3 respostas

1

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

    
por 26.02.2012 / 23:33
0

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).

    
por 26.02.2012 / 23:28
0

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.

    
por 29.11.2017 / 13:04