您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在Linux中查看端口占用情況并殺死占用進程,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
# 命令為 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!",說明安裝成功。
# 比如查看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(監聽).
不建議通過 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 的相關進程都會被結束掉 —— 務必慎用.
# 命令示例如下: [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號進程監聽著.
# 命令為fuser: [root@onepiece ~]# fuser -v -n tcp 22 USER PID ACCESS COMMAND 22/tcp: root 9646 F.... sshd root 9649 F.... sshd
[root@onepiece ~]# kill -s 9 9646(進程號)
說明:
-9參數表示告訴操作系統直接殺死進程, 無論進程的狀態是否可殺死;
該命令只殺死某個進程, 比 killall 命令相對安全一點.
關于怎么在Linux中查看端口占用情況并殺死占用進程就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。