Скрипт Python как демон в Ubuntu - PullRequest
1 голос
/ 01 марта 2012

Я создал демон для запуска скрипта Python. но он останавливается всякий раз, когда я выхожу из системы с Ubuntu.

DAEMON=sudo python /var/www/some_dir/my_python.py
ARGS=/var/www/some_dir/my_python.py
PIDFILE=/var/www/some_dir/my_python.pid

test -x $DAEMON || exit 0

#set -e

case "$1" in
start)
    echo -n "Starting $DESC: "
    start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON &
    echo "$NAME."
    ;;
stop)
    echo -n "Stopping $DESC: "
    start-stop-daemon --stop --pidfile $PIFDILE --exec $DAEMON
    echo "$NAME."
    ;;
restart|force-reload)
    echo -n "Restarting $DESC: "
    start-stop-daemon --stop --pidfile $PIDFILE --exec $DAEMON
    sleep 1
    start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON &
    echo "$NAME."
    ;;
*)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
esac
exit 0

Может кто-нибудь сказать мне, как я могу это сделать.

Ответы [ 2 ]

3 голосов
/ 19 июня 2013

Прошло много времени с тех пор, как был задан этот вопрос, но я сталкивался с такой ситуацией сегодня.

Чтобы запустить процесс в фоновом режиме, используйте

start-stop-daemon -Sbm --pidfile $PIDFILE --exec $DAEMON

Чтобы остановить его:

start-stop-daemon -K --pidfile $PIDFILE

Со страницы руководства start-stop-daemon :

-b, -background

Перевести демон в фоновый режим,Некоторые демоны не создают pid-файлы, поэтому неплохо сделать так, чтобы демон работал на переднем плане, и использовать опцию this вместе с -m, -make-pidfile для создания рабочего pid-файла.-m, -make-pidfile

Сохраняет pid демона в файле, заданном параметром -p, -pidfile.Полезно только при использовании с демонами, которые запускаются на переднем плане и переключаются на задний план с опцией --b, -background.

1 голос
/ 01 марта 2012

Попробуйте удалить & из ваших start-stop-daemon вызовов.Кроме того, вы должны прочитать, как писать про скрипты initscript, потому что в вашем скрипте есть несколько других ошибок.

...