Автоматический перезапуск процесса с помощью upstart и initctl

Я на CentOS 6.3.

Я написал скрипт на Python для приложения, которое я делаю. Я хочу, чтобы он работал как процесс, который перезапустится в случае сбоя.

У меня есть файл .conf, например:

start on runlevel [2345]
stop on runlevel [06]
script
    /usr/bin/python /home/myself/myscript.py
end script

Я могу запустить его с помощью initctl start myscript, но когда он терпит неудачу, он не перезапускается. Если я делаю initctl status myscript, он говорит stop/waiting.


person user1005909    schedule 08.11.2013    source источник


Ответы (1)


Кажется, я решил это.

start on runlevel [2345]
stop on runlevel [06]
respawn
script
    exec /usr/bin/python /home/myself/myscript.py
end script

Я добавил respawn и поставил exec перед командой. Согласно этому: http://newcome.wordpress.com/2012/02/26/running-programs-as-linux-daemons-using-upstart/ exec — это строфа, специфичная для Upstart, вместо обычной команды exec.

person user1005909    schedule 09.11.2013