Próbuję kontrolować program oparty na języku Python (który nie odłącza się od konsoli)
#!/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
Część początkowa działa dobrze. Widzę skrypt gotowy do działania, ale część stop nie. To po prostu mówiNo xx found running; none killed.
Więc myślę, że coś jest nie tak z częścią początkową?
źródło
$user
?/proc/pid/stat
:read(4, "5559 (python) S 1 5558 5558 0 -1"..., 1024) = 326
więcpython
może zamiast tego powinna to być nazwa ?python
i zadziałało ;-P$name
musi pasować. Całkowicie spóźniłeś się, że to przekazałeś. Zaktualizuje odpowiedź.