每次我运行 nginx 监听端口 8000 时,它都无法绑定,因为地址已被使用,所以我运行:lsof -i:8000
它显示:
nginx 27156 marconi 6u IPv4 58814 0t0 TCP *:irdmi (LISTEN)
我可以终止它,但启动 nginx 又会再次生成该进程。到底发生了什么,我该如何停止它?
这以前是可以工作的,但 irdmi 没有出现,但我不知道我做了什么。
答案1
netstat 和 lsof 会尽量友好地向您提供端口的服务名称。输出行所表示的并不是某个名为 irdmi 的程序正在端口 8000 上运行 - 而是 nginx 正在监听端口 8000。这是从 /etc/services 获取的。
跑步
# lsof -i:8000 -n
以避免发生这种转换。(它还将避免从 IP 地址进行名称解析)
我怀疑你在 /etc/services 中有一行看起来像这样(我的怀疑是基于谷歌搜索,证实这并不罕见):
irdmi 8000/tcp
您看到的错误消息与该端口无关,因为它似乎已按应有的方式启动。