[轉]linux netstat命令查看端口是否占用
netstat命令是一個監控TCP/IP網絡的非常有用的工具,它可以顯示路由表、實際的網絡連接以及每一個網絡接口設備的狀態信息,這里我只用到其中的部分功能.
netstat 的常用參數: - t、- u、- w和- x分別表示TCP、UDP、RAW和UNIX套接字連接。-a標記,還會顯示出等待連接(也就是說處于監聽模式)的套接字。-l 顯示正在被監聽(listen)的端口, -n表示直接顯示端口數字而不是通過察看/etc/service來轉換為端口名,-p選項表示列出監聽的程序
1) netstat -tl
查看當前tcp監聽端口
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:rrac *:* LISTEN
tcp 0 0 *:34006 *:* LISTEN
......
2) netstat -tlp
查看當前tcp監聽端口, 需要顯示監聽的程序名,當不清楚mysql的監聽端口時比較好用
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:rrac *:* LISTEN -
tcp 0 0 *:34006 *:* LISTEN 23425/mysqld
......
3) netstat -tl | grep 34006
只查看mysql的監聽端口,當前啟動的mysql端口為34006,明確知道mysql監聽端口時使用
4) netstat -ta | grep 34006
tcp 0 0 *:34006 *:* LISTEN
tcp 0 0 linux.local:34006 linux.local:41485 ESTABLISHED
tcp 0 0 linux.local:34006 linux.local:41486 ESTABLISHED
...
tcp 0 0 10.3.2.35:41488 10.3.2.35:34006 ESTABLISHED
tcp 0 0 10.3.2.35:41489 10.3.2.35:34006 ESTABLISHED
tcp 0 0 10.3.2.35:41490 10.3.2.35:34006 ESTABLISHED
由于數據庫和運用程序都放在同一臺機器了,因此這里連接被顯示了兩次. 可以使用-p參數來顯示PID,然后grep PID.
5) netstat -tap | grep 34006 | grep 23425
23425是當前mysql的PID
tcp 0 0 *:34006 *:* LISTEN 23425/mysqld
tcp 0 0 linux.local:34006 linux.local:41510 ESTABLISHED 23425/mysqld
tcp 0 0 linux.local:34006 linux.local:41511 ESTABLISHED 23425/mysqld
tcp 0 0 linux.local:34006 linux.local:41516 ESTABLISHED 23425/mysqld

浙公網安備 33010602011771號