我想要找出 Linux 中当前哪个进程正在使用某个端口。有什么方法可以做到这一点吗?
答案1
您有以下几种选择:
lsof -i tcp:80
将为您提供使用 tcp 端口 80 的进程列表。
或者,
sudo netstat -nlp
将为您提供所有开放的网络连接。
答案2
我使用的是“CentOS 7 minimal”,它既没有 也netstat
没有lsof
。但很多 Linux 发行版都有套接字统计命令(即ss
)。
以下是一个执行示例:
# ss -tanp | grep 6379
LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",pid=2531,fd=4))
答案3
netstat -lp
答案4
如果你想列出正在运行的 TCP 进程,你可以使用
sudo netstat -tnp
sudo to get processes you don't own
-t for TCP
-n for numeric
-p for pid
要使进程使用 UDP,请将 -t 替换为 -u
sudo netstat -unp