python:如何在Linux中编写守护进程

Bin*_*hen 3 python linux

我有一个运行的.py文件:

python a.py&

我使用ssh来运行命令,之后我必须注销.经过一段时间后,我发现该过程已退出.我怀疑是Linux发送了一些信号吗?我想如果我可以制作守护进程那么我可以避免这个吗?

wm_*_*die 7

虽然nohup会起作用,但这是一个快速而肮脏的解决方案.要制作正确的守护程序进程,您需要使用SysV init或(如果您运行的是Ubuntu 6.10+或Fedora 9+)upstart.

这是一个简单的脚本,它启动a.py并在它被杀死时重新启动它(在5分钟范围内最多5次):

respawn

respawn limit 5 300

exec python /path/to/a.py
Run Code Online (Sandbox Code Playgroud)

然后把那个脚本放进去/etc/init/.

Upstart也有很多选择.查看快速入门教程.