Linux⼀window下怎样查看某个端口被哪个程序⼀进程占用

2024-11-15 11:41:26
推荐回答(2个)
回答(1):

[root@localhost 桌面]# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1591/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 3343/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2433/master
tcp6 0 0 :::22 :::* LISTEN 1591/sshd
tcp6 0 0 ::1:631 :::* LISTEN 3343/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 2433/master
udp 0 0 0.0.0.0:123 0.0.0.0:* 988/chronyd
udp 0 0 0.0.0.0:5353 0.0.0.0:* 983/avahi-daemon: r
udp 0 0 127.0.0.1:323 0.0.0.0:* 988/chronyd
udp 0 0 0.0.0.0:42785 0.0.0.0:* 983/avahi-daemon: r
udp6 0 0 :::123 :::* 988/chronyd
udp6 0 0 ::1:323 :::* 988/chronyd
输入netstat -tunlp命令即可获得目前系统正在监听的所有tcp、udp的端口,输出内容如上,假设你要查找22端口被谁监听,那么你可以使用grep过滤一下,命令如下:
[root@localhost 桌面]# netstat -tunlp|grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1591/sshd
tcp6 0 0 :::22 :::* LISTEN 1591/sshd

可以看到最后一列会显示进程的PID,以及进程名称。

如果还有什么问题的话,欢迎私信我,或者查看http://www.linuxprobe.com/chapter-02/这篇文章。

回答(2):

netstat -an