如何在Linux上管理基于Python的守护程序?

BCS*_*BCS 5 python linux bash daemon init.d

我有一个基于Python的程序,我想作为一个守护进程运行.目前我正在以一种非常hackish的方式开始使用会话并使用它来杀死它.screen-d -m namepkill -9 -f name

最终我要把它移到我们在这里使用的更好的系统(因此我不愿意修改程序)但是在此期间,我正在寻找一种更清洁的方法来做到这一点.

我目前的想法是从inti.d脚本作为后台任务开始,但是如何编写该部件以使其恢复原状?

Pet*_*ans 6

在linux上有一个start-stop-daemon实用程序作为init.d工具的一部分.

它非常灵活,允许以不同的方式捕获服务器的pid.

还有一个文件/etc/init.d/skeleton,它可以作为您自己的init.d脚本的基础.

如果您的目标平台是基于debian的,那么创建一个debina包来部署它是有意义的,因为它还有助于将守护进程正确地集成到系统的其余部分中.而且它并不太复杂(如果你之前做了十次;-)