Linux 无法停止mpd服务(未发现/usr/bin/mpd正在运行;未发现任何已终止)
每当我想通过键入以下命令来停止在RaspBMC中运行的mpd服务器时:Linux 无法停止mpd服务(未发现/usr/bin/mpd正在运行;未发现任何已终止),linux,service,raspberry-pi,pid,start-stop-daemon,Linux,Service,Raspberry Pi,Pid,Start Stop Daemon,每当我想通过键入以下命令来停止在RaspBMC中运行的mpd服务器时: service mpd stop 控制台显示典型的[ok]消息: [ ok ] Stopping Music Player Daemon: mpd. 但是服务并没有真正停止(进程一直在运行)。我在服务脚本中进行了深入搜索,找到了启动停止守护进程的调用: start-stop-daemon --stop --quiet --oknodo --retry 5 --pidfile ~/.mpd/pid --exec /usr/
service mpd stop
控制台显示典型的[ok]
消息:
[ ok ] Stopping Music Player Daemon: mpd.
但是服务并没有真正停止(进程一直在运行)。我在服务脚本中进行了深入搜索,找到了启动停止守护进程的调用:
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命令,我应该更改什么以使服务正确停止?是的,这可能是权限问题
但在您的情况下,如果权限不是问题,您可以尝试此方法 我终于找到了!问题是在mpd.conf中为pid文件指定的路径是
pid\u文件“~/.mpd/pid”
从服务
命令停止时,这似乎无法正常工作。
现在我把它换了
pid\u文件/home/MyUserName/.mpd/pid“
工作正常,但我会尽快将其移动到
/var/run/mpd/
,因为它似乎是正确的位置。这肯定会起作用,但我不想每次想重新启动服务时都通过停止进程来排除故障。我真正想知道的是start-stop守护进程
失败的原因并解决它,这样我才能最终使用service
命令。这仍然会为我生成Mpd:(