我有一个使用 php 创建的守护进程。我想通过 initscripts 调用它并让它在启动时启动,这很好。但是,当我尝试使用终止进程时
sudo service crystal_send stop
它不会终止进程。
当我直接调用它时
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile /var/run/crystal/crystal_send.pid --exec /bin/crystal_send
我明白了
start-stop-daemon: unable to stat /bin/crystal_send (No such file or directory)
这是我的 /etc/init.d/crystal_send do_stop 函数的样子。
## /etc/init.d/crystal_send
NAME=crystal_send
DAEMON=/bin/$NAME
PIDFILE=/var/run/crystal/$NAME.pid
....
do_stop()
{
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON
RETVAL="$?"
rm -f $PIDFILE
[ "$RETVAL" = 2 ] && return 2
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
[ "$?" = 2 ] && return 2
rm -f $PIDFILE
return "$RETVAL"
}