使用upstart和initctl让进程自动重启

时间:2013-11-08 15:10:52

标签: upstart

我在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

1 个答案:

答案 0 :(得分:0)

我似乎已经解决了这个问题。

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命令。