linux 守护程序无法 运行 python 文件
linux daemon can't run python file
我正在使用 raspberry pi 和 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 "" in
start|stop)
do_
;;
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
提示ok时:
Starting system do_start myserv daemon
. ok
Started /var/www/MDH/python/myserv.py
但是如果我执行 sudo service /etc/init.d/myservice.sh status 我的脚本不是 运行ning:
[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 中不起作用???
我正在使用 raspberry pi 和 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 "" in
start|stop)
do_
;;
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
提示ok时:
Starting system do_start myserv daemon
. ok
Started /var/www/MDH/python/myserv.py
但是如果我执行 sudo service /etc/init.d/myservice.sh status 我的脚本不是 运行ning:
[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 中不起作用???