我正在编写一个我需要在启动时启动的Python脚本(它应该在启动后继续运行)。我希望能够通过运行如下命令来管理服务:
sudo service my-service (and either start, stop, restart, etc.)
我一直在阅读它,并且非常想完成我的项目。我看到了这一点,但是如果要工作Linux Start-up Script则需要帮助实现它。我甚至不确定从哪里开始,我真的不知道如何用bash编程,但我对所有解决方案都持开放态度。提前谢谢你,我感谢所有回复!
答案 0 :(得分:2)
看看zdaemon。它提供了一种守护Python进程的简单方法。
然后你可以根据你的操作系统为它编写一个init.d脚本。 或者您可以使用Upstart,supervisord等工具来控制守护进程。
我的init.d脚本(在centos 5.8上)看起来像这样:
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network
APP_PATH=/path/to/your/app
PYTHON=/usr/local/bin/python
USER=user
start() {
cd $APP_PATH
zdaemon -C app.zdconf start
}
stop() {
cd $APP_PATH
zdaemon -C app.zdconf stop
}
check_status() {
cd $APP_PATH
zdaemon -C app.zdconf status
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
check_status
;;
restart)
stop
start
;;
*)
esac
exit 0
app.zdconf是zdaemon配置文件。