No Ubuntu (até 14.04, 16.04 e posterior use o systemd) pode usar o upstart para fazer isso, melhor que um cron job. Você coloca uma configuração de configuração em /etc/init
e certifique-se de especificar respawn
Pode ser um arquivo mínimo /etc/init/testing.conf
(editar como root
):
chdir /your/base/directory
exec python testing.py
respawn
E você pode testar com /your/base/directory/testing.py
:
from __future__ import print_function
import time
with open('/var/tmp/testing.log', 'a') as fp:
print(time.time(), 'done', file=fp)
time.sleep(3)
e comece com:
sudo start testing
e siga o que acontece (em outra janela) com:
tail -f /var/tmp/testing.log
e pare com:
sudo stop testing
Você também pode adicionar [start on][2]
para ter o comando iniciado na inicialização do sistema.