守护进程死了,但暴发户认为它仍在运行

eja*_*ain 5 upstart ubuntu-12.04

如果守护进程死了,我将无法手动重新启动它:start foo导致消息“开始:作业已经在运行:foo”,并stop foo无限期挂起。

start on runlevel [2345]
stop on runlevel [016]

kill timeout 90
expect daemon

pre-start script
  rm -f ${HOME}/RUNNING_PID
end script

exec start-stop-daemon \
  --pidfile ${HOME}/RUNNING_PID --chuid $USER:$GROUP \
  --exec ${HOME}/bin/run --start > run.log 2>&1
Run Code Online (Sandbox Code Playgroud)

没有 $USER 拥有的进程,也没有 pidfile,那么为什么 upstart 认为守护进程仍在运行,否则我如何说服它?

eja*_*ain 6

解决方法:将foo服务重命名为foo2...

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=582745