lsof 和netstat 列出tcp 相关alive连线端口信息(PID,IP,Port)

在尝试用zmq通讯的时候发现提示报错,端口已经被使用,于是需要将其关掉。
查询了下资料,发现了两个比较实用的命令,之前好像也有记过,只是一时间想不起,记录mark下。

1. 检查tcp 相关的PID

'lsof -iTCP -sTCP:LISTEN -n -P'

xiaoqiangs-MacBook-Pro:~ xiaoqiang$ lsof -iTCP -sTCP:LISTEN -n -P
COMMAND   PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
rapportd  350 xiaoqiang    3u  IPv4 0xec53b94e3395aac9      0t0  TCP *:49179 (LISTEN)
rapportd  350 xiaoqiang    5u  IPv6 0xec53b94e2fcdc949      0t0  TCP *:49179 (LISTEN)
ARDAgent  393 xiaoqiang   10u  IPv6 0xec53b94e2fcdcf09      0t0  TCP *:3283 (LISTEN)
Python   4155 xiaoqiang   17u  IPv4 0xec53b94e462be4c9      0t0  TCP *:6750 (LISTEN)
Python   4202 xiaoqiang   17u  IPv4 0xec53b94e489d54c9      0t0  TCP *:6252 (LISTEN)
Python   4202 xiaoqiang   34u  IPv4 0xec53b94e489d07c9      0t0  TCP *:6202 (LISTEN)
Python   4205 xiaoqiang   17u  IPv4 0xec53b94e48c98ac9      0t0  TCP *:6251 (LISTEN)
Python   4205 xiaoqiang   34u  IPv4 0xec53b94e489cfe49      0t0  TCP *:6201 (LISTEN)
Python   4206 xiaoqiang   17u  IPv4 0xec53b94e48c98149      0t0  TCP *:6250 (LISTEN)
Python   4206 xiaoqiang   34u  IPv4 0xec53b94e489cf4c9      0t0  TCP *:6200 (LISTEN)
Python   4208 xiaoqiang   17u  IPv4 0xec53b94e48d1fe49      0t0  TCP *:6253 (LISTEN)
Python   4208 xiaoqiang   34u  IPv4 0xec53b94e4896b4c9      0t0  TCP *:6203 (LISTEN)

2.查看指定端口的信息

lsof -i:xxx(Port)

3.检查tcp相关的连线信息(Port,IP)

'netstat -ltnp tcp'

xiaoqiangs-MacBook-Pro:~ xiaoqiang$ netstat -ltnp tcp
Active Internet connections
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state)    
tcp4       0      0  192.168.7.240.52968    203.208.40.34.443      ESTABLISHED
tcp4       0      0  192.168.7.240.58929    203.208.41.38.443      ESTABLISHED
tcp4       0      0  192.168.7.240.58884    203.208.41.100.443     ESTABLISHED
tcp4       0      0  192.168.7.240.58832    203.208.41.100.443     ESTABLISHED
tcp4       0      0  192.168.7.240.58830    203.208.40.70.443      ESTABLISHED
tcp4       0      0  192.168.7.240.58829    151.101.65.69.443      ESTABLISHED
tcp4       0      0  192.168.7.240.58798    203.208.41.38.443      ESTABLISHED
tcp4       0      0  192.168.7.240.58794    203.208.41.38.443      ESTABLISHED
tcp4       0      0  192.168.7.240.58783    203.208.41.38.443      ESTABLISHED
tcp4       0      0  192.168.7.240.58781    203.208.41.38.443      ESTABLISHED
tcp4       0      0  192.168.7.240.58673    113.96.181.234.443     ESTABLISHED
tcp4       0      0  192.168.7.240.58671    101.226.211.51.443     ESTABLISHED
tcp4       0      0  192.168.7.240.58670    203.208.40.105.443     ESTABLISHED
tcp4       0      0  192.168.7.240.57050    17.248.159.117.443     ESTABLISHED
tcp4       0      0  192.168.7.240.62920    17.248.159.117.443     ESTABLISHED
tcp4       0      0  192.168.7.240.62158    203.208.41.65.443      ESTABLISHED
tcp4       0      0  127.0.0.1.6250         127.0.0.1.63763        ESTABLISHED
tcp4       0      0  127.0.0.1.63763        127.0.0.1.6250         ESTABLISHED
tcp4       0      0  127.0.0.1.6251         127.0.0.1.63552        ESTABLISHED
tcp4       0      0  127.0.0.1.6253         127.0.0.1.63758        ESTABLISHED
tcp4       0      0  127.0.0.1.63758        127.0.0.1.6253         ESTABLISHED
tcp4       0      0  127.0.0.1.6252         127.0.0.1.63736        ESTABLISHED
tcp4       0      0  127.0.0.1.63736        127.0.0.1.6252         ESTABLISHED
tcp4       0      0  127.0.0.1.63552        127.0.0.1.6251         ESTABLISHED

想要关闭进程的话,就直接下:

kill -9 xxx(PID)

PID的获得有2种方法:

第一种就是方法一所说,用lsof监测所有tcp相关的信息,会列出PID

第二种方法,可以通过ps aux |grep 'xxx(某进程)'来获取

原文地址:https://www.cnblogs.com/xiaoqiangink/p/13366747.html