Linux 查看端口的占用情況并找出并殺死占用進(jìn)程的方法
1 lsof查看端口的占用情況
1.1 命令使用示例
# 命令為 lsof -i [root@onepiece ~]# lsof -i # 將會(huì)顯示 命令 + 進(jìn)程ID + 進(jìn)程所屬用戶, 以及監(jiān)聽的協(xié)議、狀態(tài)等信息 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! # 出現(xiàn)上述的 "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號(hào)端口正被sshd所使用, 狀態(tài)是LISTEN(監(jiān)聽).
1.3 殺死某個(gè)端口的所有進(jìn)程
不建議通過 kill 的方式解決端口沖突問題!
某些極少的情況下是可以直接殺死進(jìn)程、釋放端口的, 比如某個(gè) Tomcat 進(jìn)程沒有成功退出, 導(dǎo)致重啟失敗.
# 命令如下: [root@onepiece ~]# killall sshd # 這樣,所有sshd的進(jìn)程都會(huì)被結(jié)束掉 —— 我這里通過ssh遠(yuǎn)程操作阿里云服務(wù)器, 殺死之后將退出連接, 提示如下: Connection to 47.52.xx.xx closed by remote host. Connection to 47.52.xx.xx closed. # 此時(shí)需要從阿里云控制臺(tái)通過終端進(jìn)入, 并開啟sshd服務(wù), 命令如下: service sshd start
這樣, 所有與 sshd 的相關(guān)進(jìn)程都會(huì)被結(jié)束掉 —— 務(wù)必慎用.
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號(hào)進(jìn)程監(jiān)聽著.
2.2 查看占用某個(gè)端口的進(jìn)程
# 命令為fuser: [root@onepiece ~]# fuser -v -n tcp 22 USER PID ACCESS COMMAND 22/tcp: root 9646 F.... sshd root 9649 F.... sshd
2.3 殺死某個(gè)端口的占用進(jìn)程
[root@onepiece ~]# kill -s 9 9646(進(jìn)程號(hào))
說明:
-9參數(shù)表示告訴操作系統(tǒng)直接殺死進(jìn)程, 無論進(jìn)程的狀態(tài)是否可殺死;
該命令只殺死某個(gè)進(jìn)程, 比 killall 命令相對(duì)安全一點(diǎn).
參考閱讀:
總結(jié)
以上所述是小編給大家介紹的Linux 查看端口的占用情況并找出并殺死占用進(jìn)程的方法 ,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
零基礎(chǔ)入門篇之Linux及Arm-Linux程序開發(fā)筆記
這篇文章主要介紹了零基礎(chǔ)入門篇之Linux及Arm-Linux程序開發(fā)筆記,需要的朋友可以參考下2015-10-10利用kernel提供的接口打印進(jìn)程號(hào)(pid)
我們知道linux是模塊化的內(nèi)核。實(shí)現(xiàn)模塊、利用kernel提供的接口,首先了解寫模塊的基本框架。下面的c文件就是最基本的框架,當(dāng)然還有怎樣添加一些符號(hào)變量,利用的module_param,沒用上2013-11-11