套接字已在使用,但未列出(mpd)?

套接字已在使用,但未列出(mpd)?

跑步

$ mpd

系统提示我

套接字:无法绑定到“127.0.0.1:6600”:地址已在使用中

但如果我运行:

 $ sudo service mpd start

并检查其状态,我得到

systemd[1]:启动音乐播放器守护进程。

请注意,在接下来的内容中,假设:

 $ sudo service mpd stop

已运行。

问题

  • 两者有什么区别,为什么一个会出错,而另一个不会?
  • 我如何跟踪/查找套接字的使用情况?如前所述,首先我们停止服务,如果它正在运行?

    $ sudo service mpd stop
    

我搜索了 stackexchange,提到的解决方案没有找到任何内容。

$ sudo lsof -i -n -P|grep 6600 

什么也不返回

$ sudo netstat -tulpn |grep 6600 

什么也不返回

$ sudo ss -npt|grep 6600

什么也不返回。但是,再一次,

$ mpd

回报

套接字:无法绑定到“127.0.0.1:6600”:地址已在使用中

我不明白什么?

答案1

看起来你正在使用 Systemd

作为评论中提到你还需要停止套接字

sudo systemctl stop mpd.socket

答案2

可能有点晚了,但我遇到了同样的问题,并将 mpd.conf 文件中的 bind_to_address 设置为“0.0.0.0”似乎可以修复它。

还有一个很好的解释为什么会发生这种情况这里

相关内容