在 Linux 中查找使用某个端口的进程

Eva*_*ark 143 linux port

我希望能够找出哪个进程当前正在使用 Linux 中的某个端口。有没有办法做到这一点?

小智 153

你有几个选择:

lsof -i tcp:80
Run Code Online (Sandbox Code Playgroud)

将为您提供使用 tcp 端口 80 的进程列表。

或者,

sudo netstat -nlp
Run Code Online (Sandbox Code Playgroud)

将为您提供所有开放的网络连接。

  • `lsof -i | grep {username}` 也很有用,即`lsof -i | grep阿帕奇` (2认同)

小智 9

netstat -lp
Run Code Online (Sandbox Code Playgroud)

  • 在 mac 上,您必须向 -p 添加协议选项。所以像:netstat -lp tcp。 (4认同)

小智 8

我正在使用“CentOS 7 minimum”,netstat它既没有lsof. 但是很多 linux 发行版都有 socket statistics 命令(即ss)。

下面是一个执行示例:

# ss -tanp | grep 6379
LISTEN   0    128  127.0.0.1:6379   *:*   users:(("redis-server",pid=2531,fd=4))
Run Code Online (Sandbox Code Playgroud)