在 Debian 中以守护进程形式运行 Python 脚本

在 Debian 中以守护进程形式运行 Python 脚本

我正在尝试将我的 python 脚本作为服务运行...但是当我调用时出现此错误sudo update-rc.d mylistener start

在 /usr/sbin/update-rc.d 第 192 行的模式匹配 (m//) 中使用未初始化的值 $ARGV[1]。

update-rc.d:错误:启动后预期 NN

这是我的初始化脚本mylistener

#! /bin/sh
### BEGIN INIT INFO
# Provides:          mylistener
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: This is the description.
# Description:       This is the description.
### END INIT INFO

DAEMON=/srv/example.org/public/env/bin/python
ARGS=/srv/example.org/public/my_listener.py
PIDFILE=/srv/example.org/my_listener.pid

case "$1" in
  start)
    echo "starting server"
    /sbin/start-stop-daemon --start --pidfile $PIDFILE \
        --user www-data --group www-data \
        -b --make-pidfile \
        --chuid www-data \
        --exec $DAEMON $ARGS
    ;;
  stop)
    echo "stopping server"
    /sbin/start-stop-daemon --stop --pidfile $PIDFILE --verbose
    ;;
  *)
    echo "Useage: /etc/init.d/mylistener {start|stop}"
    exit 1
    ;;
esac

exit 0

有人能看出我哪里错了吗?这是在 Debian 服务器上运行的。

答案1

尝试这个:

sudo update-rc.d mylistener start 20 2 3 4 5 . stop 80 0 1 6 .

这意味着您的初始化脚本将以第 20 个优先级、运行级别 2345 启动,并以第 80 个优先级、运行级别 016 停止。

或者简单的是:

sudo update-rc.d mylistener defaults

相关内容