Upstart 报告“作业已在运行”,但进程不存在,也没有 PID 文件

Upstart 报告“作业已在运行”,但进程不存在,也没有 PID 文件

因此,我安装了 MiniDLNA,但最近发现无法使用 Upstart 启动它。

跑步sudo start minidlna回报:

minidlna start/running, process [num]

但是没有启动任何进程(MiniDLNA的启动还应该有一行额外的状态报告)。

我得到同样的sudo service minidlna start

Upstart 日志(/var/log/upstart/minidlna.log)显示:

start: Job is already running: minidlna

尝试使用 upstart 停止或重新启动将返回:

stop: Unknown instance:

我可以通过以下任意一种方式成功启动MiniDLNA:

  • /usr/bin/minidlnad -f /etc/minidlna.conf
  • /etc/init.d/minidlna start
  • start-stop-daemon --start --pidfile /run/minidlna.pid --chuid minidlna:minidlna --exec /usr/bin/minidlnad -- -f /etc/minidlna.conf -P /run/minidlna.pid

我也尝试删除 MiniDLNA 用户/组并重新添加,但没有成功。

重启后此状态仍然存在。

我已经束手无策了。任何帮助都非常好!

答案1

我认为你的问题的答案是http://efiop-notes.blogspot.com/2014/06/how-to-set-pid-using-nslastpid.html,这是解决 upstart 问题的一种更简单的方法,而不是循环遍历所有 pid 直到创建 upstart 所寻找的 pid。

只需用 C 编译器编译该程序,然后使用 upstart 知道的 PID 以 sudo 身份运行它,就好了!

HTH,谢伦

相关内容