#1 楼
您有两种选择:lsof -i tcp:80
将为您提供使用tcp端口80的进程的列表。或者,
,
sudo netstat -nlp
将为您提供所有开放的网络连接。
评论
lsof -i | grep {用户名}也非常有用,即lsof -i | grep apache
–LawrenceC
2011年10月30日,下午3:20
对于任何想知道的人,-n:不解析名称,-l:显示监听服务器套接字,-p:显示套接字的PID /程序名称。
– yellavon
2014年5月12日15:18
我通常将-P添加到lsof -i tcp:$ PORTNUMBER中,以使该端口以数字形式返回给我。
–js。
15年6月23日在8:42
#2 楼
netstat -lp
评论
在Mac上,您必须向-p添加协议选项。就像这样:netstat -lp tcp。
–vrish88
2010年5月25日下午14:59
#3 楼
我正在使用既没有netstat
也没有lsof
的“ CentOS 7 minimal”。但是许多Linux发行版都有套接字统计信息命令(即ss
)。这里是一个执行示例:# ss -tanp | grep 6379
LISTEN 0 128 127.0.0.1:6379 *:* users:(("redis-server",pid=2531,fd=4))
#4 楼
在Linux中,要查找在端口上运行的进程,请执行以下操作:lsof -i :<port_number>
示例:
lsof -i :8080
评论
感谢您的帮助。已接受的答案中提到了此命令。如果您有新内容,请编辑您的帖子。
– Ben N
16年1月6日,0:22
#5 楼
另外,如果您要列出正在运行的正在运行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
评论
在Windows上,命令为:netstat -anb