Estou tentando controlar um programa baseado em python (que não se desconecta do 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
A parte inicial funciona bem. Eu posso ver o script em funcionamento, mas a parte de parada não. Simplesmente dizNo xx found running; none killed.
Então acho que há algo errado com a parte inicial?
fonte
$user
?/proc/pid/stat
:read(4, "5559 (python) S 1 5558 5558 0 -1"..., 1024) = 326
então o nome deveria ser,python
talvez?python
e funcionou ;-P$name
tem que combinar também. Perdeu completamente que você estava passando isso. Atualizará a resposta.