Я создал демона для запуска скрипта 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
может ли кто-нибудь сказать мне, как я могу это сделать.
Это долгое время с тех пор, как этот вопрос был задан, но сегодня я столкнулся с этой ситуацией.
Чтобы начать процесс в фоновом режиме, используйте
start-stop-daemon -Sbm --pidfile $PIDFILE --exec $DAEMON
Чтобы остановить это:
start-stop-daemon -K --pidfile $PIDFILE
На странице man-start-stop-daemon:
-b, -b ackground
Заставьте демона в фоновом режиме. Некоторые демоны не создают pidfiles, поэтому хороший трюк заключается в том, чтобы запустить демон на переднем плане и использовать этот параметр вместе с -m, -m ake -p idfile для создания рабочего файла pidfile. -m, -m ake -p idfile
Сохраняет pid демона в файле, указанном параметром idfile -p, -p. Полезно только при использовании демонов, которые запускаются на переднем плане и принудительно в фоновом режиме с опцией - -b, -b.
Попробуйте удалить &
из ваших вызовов- start-stop-daemon
. Кроме того, вы должны прочитать, как писать proer initscripts, потому что в вашем initscript есть несколько других ошибок.