Я пытаюсь управлять программой на основе Python (которая не отсоединяется от консоли)
#!/bin/bash
user=nobody
pid=/var/run/xx.pid
name=xx
prog=/xx.py
case $1 in
start)
/sbin/start-stop-daemon --start -b --oknodo --user "$user" --name "$name" --pidfile "$pid" --startas "$prog" --chuid nobody -- --daemon
;;
stop)
/sbin/start-stop-daemon --stop --oknodo --user "$user" --name "$name" --pidfile "$pid" --retry=TERM/5/KILL/1
;;
restart)
;;
*)
;;
esac
Начальная часть работает нормально. Я вижу, что скрипт запущен и работает, но часть остановки - нет. Это просто говоритNo xx found running; none killed.
Итак, я думаю, что-то не так с начальной частью?
источник
$user
ли UID процесса ?/proc/pid/stat
:read(4, "5559 (python) S 1 5558 5558 0 -1"..., 1024) = 326
так что, возможно, имя должно бытьpython
вместо этого?python
и все заработало ;-P$name
тоже должно совпадать. Полностью пропустил, что вы передавали это. Обновит ответ.