繁体   English   中英

linux守护进程无法运行python文件

[英]linux daemon can't run python file

我在Raspbian中使用树莓派,我尝试这样做:

我在etc / init.d中创建了文件myservice.sh

...
DIR=/var/www/MDH/python
DAEMON=$DIR/myserv.py
DAEMON_NAME=myserv
DAEMON_USER=pi
PIDFILE=/var/run/$DAEMON_NAME.pid
...
do_start () {
echo "Starting system do_start $DAEMON_NAME daemon"
start-stop-daemon --start --background --pidfile $PIDFILE --make-pidfile --user $DAEMON_USER --chuid $DAEMON_USER --startas $DAEMON -- $DAEMON_OPTS
echo "Started $DAEMON"
}
do_stop () {
...
ccase "$1" in

start|stop)
    do_${1}
    ;;

restart|reload|force-reload)
    do_stop
    do_start
    ;;

status)
    status_of_proc "$DAEMON_NAME" "$DAEMON" && exit 0 || exit $?
    ;;

*)
    echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|restart|status}"
    exit 1
    ;;

esac
exit 0

当我运行sudo service /etc/init.d/myservice.sh start ,提示没问题:

Starting system do_start myserv daemon
. ok
Started /var/www/MDH/python/myserv.py

但是,如果我执行sudo服务/etc/init.d/myservice.sh status,则我的脚本未运行:

[FAIL] /var/www/MDH/python/myserv.py is not running ... failed!

如果我尝试使用python /var/www/MDH/python/myserv.py运行python脚本,则可以正常运行。

任何实现日志或更好地调试脚本的想法。

我已将脚本移动到python用户文件夹中:\\ home \\ pi \\

我的脚本chmod + e myserv.py的执行权限

我也添加myservice.sh:

#-------------------------------------------------------------
#! /bin/sh
### BEGIN INIT INFO
# Provides: MDH daemon
# Required-Start: $all
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: daemon MDH 0.1
# Description: bla bla bla... MDH.
### END INIT INFO

现在通过服务myservice.sh启动

python脚本工作正常,并且状态,停止和重新启动均正常。 为什么在文件夹/var/www/MDH/python/myserv.py中不起作用???

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM