有时候咱们须要知道电脑中有哪些 进程/应用 正在使用哪一个port,这时候就用到一个很是方便的指令:lsof
指令 lsof 是 list open files 的意思。在unix系统中,一切皆为文件,包括tcp/udp的链接。
例子: lsof -n -P -i TCP | grep LISTEN
flag:-n
指用number代替字母显示-P
特指 port 用数字而不用字母显示-i
指 internet 相关的协议,此处咱们指定 TCP
| grep LISTEN
在当前指令lsof -n -P -i TCP
给出的全部结果中,搜索有 “LISTEN” 的结果
例如:mysql
caoda1@CaoDas-MBP:~/Documents$ lsof -n -P -i TCP | grep LISTEN pycharm 407 caoda1 143u IPv4 0x15532e64ce8c66af 0t0 TCP 127.0.0.1:6942 (LISTEN) pycharm 407 caoda1 222u IPv4 0x15532e64d4531a8f 0t0 TCP 127.0.0.1:63342 (LISTEN) rapportd 449 caoda1 3u IPv4 0x15532e64ce3bd6af 0t0 TCP *:56197 (LISTEN) rapportd 449 caoda1 4u IPv6 0x15532e64ce3e5007 0t0 TCP *:56197 (LISTEN) com.apple 631 caoda1 45u IPv4 0x15532e64d9f7a6af 0t0 TCP *:60496 (LISTEN) com.apple 631 caoda1 48u IPv6 0x15532e64ce3e6147 0t0 TCP *:60497 (LISTEN) mongod 673 caoda1 6u IPv4 0x15532e64d1a763ef 0t0 TCP 127.0.0.1:27017 (LISTEN) BlueJeans 695 caoda1 3u IPv4 0x15532e64ce3bba8f 0t0 TCP 127.0.0.1:18171 (LISTEN) Adobe\x20 831 caoda1 10u IPv4 0x15532e64d453112f 0t0 TCP 127.0.0.1:15292 (LISTEN) Avast\x20 849 caoda1 4u IPv6 0x15532e64ce3e4a47 0t0 TCP *:27275 (LISTEN) mysqld 39165 caoda1 28u IPv4 0x15532e64fa16c6af 0t0 TCP 127.0.0.1:3306 (LISTEN)
咱们能够看到:应用名称,进程id, ip地址和port number, 以及他们正在 LISTEN的状态
若是我只想知道 mysql 正在使用哪一个port,只要:sql
caoda1@CaoDas-MBP:~/Documents$ lsof -n -P -i TCP | grep mysql mysqld 887 caoda1 29u IPv4 0x21154199f4055439 0t0 TCP 127.0.0.1:3306 (LISTEN)
咱们能够清楚的看到mysql正在使用 3306 这个 port。app