每当我想通过键入以下内容来停止在我的 RaspBMC 中运行的 mpd 服务器时:
service mpd stop
控制台显示典型[ ok ]
消息:
[ ok ] Stopping Music Player Daemon: mpd.
但服务并没有真正停止(进程继续运行)。我在服务脚本中进行了深入搜索,找到了对 start-stop-daemon 的调用:
start-stop-daemon --stop --quiet --oknodo --retry 5 --pidfile ~/.mpd/pid --exec /usr/bin/mpd
如果我在控制台中执行此命令(没有--quiet
选项),我会收到以下消息:
No /usr/bin/mpd found running; none killed.
但是这个过程确实在运行。我已经检查了 pid 文件和 exec 文件(/usr/bin/mpd
),它们是正确的。我注意到当以超级用户身份(使用 sudo)运行命令时,这个错误消失了,所以这似乎是一个权限问题,但我真的不明白为什么/etc/init.d/mpd
脚本无法检测到正在运行的进程......它总是被调用使用 sudo,所以它不应该有权限问题,不是吗?
这个配置有什么问题?我应该更改什么以使用 service 命令正确停止服务?