gpt4 book ai didi

linux - 无法停止 mpd 服务(没有发现/usr/bin/mpd 正在运行;没有被杀死)

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:00:15 26 4
gpt4 key购买 nike

每当我想通过键入停止在我的 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),它们都是正确的。我注意到当以 super 用户身份(使用 sudo)运行命令时这个错误消失了,所以这似乎是一个权限问题,但我真的不明白为什么 /etc/init.d/mpd 脚本无法检测正在运行的进程...它总是使用 sudo 调用,所以它不应该有权限问题,不是吗?

这个配置有什么问题?我应该更改什么才能使用服务命令正确停止服务?

最佳答案

我终于找到了!问题是在 mpd.conf 中为 pid 文件指定的路径是

pid_file "~/.mpd/pid"

当从 service 命令停止时,这似乎无法正常工作。目前我将其更改为

pid_file "/home/MyUserName/.mpd/pid"

并且工作正常,但我会尽快将其移至 /var/run/mpd/,因为它似乎是正确的位置。

关于linux - 无法停止 mpd 服务(没有发现/usr/bin/mpd 正在运行;没有被杀死),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21018491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com