J'essaie de contrôler un programme basé sur python (qui ne se détache pas de la console)
#!/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
La partie de départ fonctionne bien. Je peux voir le script opérationnel, mais pas la partie stop. Il dit simplementNo xx found running; none killed.
Donc je suppose qu'il y a quelque chose qui ne va pas avec la partie de départ?
la source
$user
?/proc/pid/stat
:read(4, "5559 (python) S 1 5558 5558 0 -1"..., 1024) = 326
, de sorte que le nom doit être aupython
lieu peut - être?python
et cela a fonctionné ;-P$name
doit aussi correspondre. Vous avez complètement manqué que vous passiez cela. Mettra à jour la réponse.