原文linux - 查看端口被什么程序占用
在Linux中,如果端口随便设置就有可能出现端口被占用情况,这时候就需要找到对应的程序进行处理。
1. 使用 ss 查看
ss
一般用于转储套接字统计信息。它还可以显示所有类型的套接字统计信息,包括 PACKET
、TCP
、UDP
、DCCP
、RAW
、Unix
域等。
ss -lntpd | grep :22
通过grep
来获取到对应的记录, 如果是本身用户可以直接查看到pid
信息,如果是其他用户的程序一般使用root
权限就可以查看到所有程序的进程信息。
2. 使用 netstat 查看
netstat
能够显示网络连接、路由表、接口统计信息、伪装连接以及多播成员。目前netstat
已经过时了,都推荐使用ss
来代替。
netstat -tnlp | grep :22
同理,要查看到所有程序需要有root
权限。
3. 使用 lsof 查看
lsof
(list open files
)是一个列出系统上被进程打开的文件的相关信息。
lsof -i tcp:22
同理,要查看到所有程序需要有root
权限。
4. 使用 fuser 查看
fuser
可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息。fuser
只把PID
输出到标准输出,其他的都输出到标准错误输出。
fuser 22/tcp