目錄
- 1 lsof查看端口的占用情況
- 1.1 命令使用示例
- 1.2 查看某一端口的占用情況
- 1.3 殺死某個端口的所有進程
- 2 netstat查看端口占用情況
- 2.1 命令使用示例
- 2.2 查看占用某個端口的進程
- 2.3 殺死某個端口的占用進程
1 lsof查看端口的占用情況
1.1 命令使用示例
# 命令為 lsof -i
[root@onepiece ~]# lsof -i
# 將會顯示 命令 + 進程ID + 進程所屬用戶, 以及監聽的協議、狀態等信息
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dhclient 728 root 6u IPv4 11262 0t0 UDP *:bootpc
ntpd 839 ntp 16u IPv4 13671 0t0 UDP *:ntp
ntpd 839 ntp 18u IPv4 13677 0t0 UDP localhost:ntp
•注意: 若提示無此命令, 則需要安裝, 命令如下:
[root@onepiece ~]# lsof -i
-bash: lsof: command not found
[root@onepiece ~]# yum install -y lsof
......
Installed:
lsof.x86_64 0:4.87-6.el7
Complete!
# 出現上述的 "Complete!",說明安裝成功。
1.2 查看某一端口的占用情況
# 比如查看80端口的占用情況,命令為:
[root@onepiece ~]# lsof -i:22
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 3187 root 3u IPv4 16278 0t0 TCP *:ssh (LISTEN)
sshd 9528 root 3u IPv4 4436480 0t0 TCP onepiece:ssh->120.253.xx.xx:30214 (ESTABLISHED)
這里顯示出22號端口正被sshd所使用, 狀態是LISTEN(監聽).
1.3 殺死某個端口的所有進程
不建議通過 kill 的方式解決端口沖突問題!
某些極少的情況下是可以直接殺死進程、釋放端口的, 比如某個 Tomcat 進程沒有成功退出, 導致重啟失敗.
# 命令如下:
[root@onepiece ~]# killall sshd
# 這樣,所有sshd的進程都會被結束掉 —— 我這里通過ssh遠程操作阿里云服務器, 殺死之后將退出連接, 提示如下:
Connection to 47.52.xx.xx closed by remote host.
Connection to 47.52.xx.xx closed.
# 此時需要從阿里云控制臺通過終端進入, 并開啟sshd服務, 命令如下:
service sshd start
這樣, 所有與 sshd 的相關進程都會被結束掉 —— 務必慎用.
2 netstat查看端口占用情況
2.1 命令使用示例
# 命令示例如下:
[root@onepiece ~]# netstat -anp | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 9646/sshd
tcp 0 36 172.31.xx.xx:22 120.253.xx.xx:30307 ESTABLISHED 9649/sshd: root@pts
unix 2 [ ] DGRAM 15722 476/dbus-daemon
unix 3 [ ] STREAM CONNECTED 11122 476/dbus-daemon
可以看出22端口被9646號進程監聽著.
2.2 查看占用某個端口的進程
# 命令為fuser:
[root@onepiece ~]# fuser -v -n tcp 22
USER PID ACCESS COMMAND
22/tcp: root 9646 F.... sshd
root 9649 F.... sshd
2.3 殺死某個端口的占用進程
[root@onepiece ~]# kill -s 9 9646(進程號)
說明:
-9參數表示告訴操作系統直接殺死進程, 無論進程的狀態是否可殺死;
該命令只殺死某個進程, 比 killall 命令相對安全一點.
參考閱讀:
Linux中如何解除端口占用
總結
以上所述是小編給大家介紹的Linux 查看端口的占用情況并找出并殺死占用進程的方法 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
您可能感興趣的文章:- 6種查看Linux進程占用端口號的方法詳解
- 在Linux中查看進程占用的端口號
- Linux查看端口占用lsof -i:port的方法
- 查看linux中某個端口(port)是否被占用的方法
- Linux/window下怎樣查看某個端口被哪個程序/進程占用
- Linux下查看端口占用進程號,程序名的方法
- LINUX查看端口是否被占用過程解析