各系統(tǒng)(Mac、Lunix、Windows)查看端口被占用情況及處理

Mac

lsof -i :port port 指代端口號,下文中都是如此

lsof -i tcp:port tcp 表示查看tcp類型的進(jìn)程

Linux

1. ss 命令

一般用于轉(zhuǎn)儲套接字統(tǒng)計(jì)信息,它可以比其它工具顯示更多的 TCP 信息和狀態(tài)信息。
ss -tnlp | grep ssh 查看ssh進(jìn)程
ss -tnlp | grep ":port"

2. netstat 命令

netstat 能夠顯示網(wǎng)絡(luò)連接、路由表、接口統(tǒng)計(jì)信息、偽裝連接以及多播成員。默認(rèn)情況下,netstat 會列出已打開的套接字。
netstat -anp | grep port
netstat -lnp | grep port

netstat 常用參數(shù)參考:

  • -n, --numeric don't resolve names,不解析名稱,即用網(wǎng)絡(luò)IP地址代替名稱,以顯示網(wǎng)絡(luò)連接情形
  • -p, --programs display PID/Program name for sockets,顯示建立相關(guān)連接的程序名和PID
  • -l, --listening display listening server sockets 顯示在 listening (監(jiān)聽) 的服務(wù)狀態(tài)
  • -a, --all display all sockets (default: connected) 顯示所有socket(否則默認(rèn)只顯示已連接的)
3. lsof 命令

能夠列出打開的文件,并列出系統(tǒng)上被進(jìn)程打開的文件的相關(guān)信息。
lsof -i :port

查看具體某類進(jìn)程

ps -ef | grep 進(jìn)程名
舉??:
ps -ef | grep node 查看Nodejs服務(wù) 占用的端口
ps -ef | grep nginx

image.png

殺死進(jìn)程(Linux和Mac皆可)

kill -9 port -9指令是指強(qiáng)殺進(jìn)程(非必要不推薦使用,還是找出對應(yīng)的程序結(jié)束它的運(yùn)行并修改沖突端口為好)

另外,用pm2運(yùn)行的項(xiàng)目占用的端口貌似殺不掉,有種可能就是pm2已經(jīng)運(yùn)行了這個項(xiàng)目(我自己就是忘記了),本地又想運(yùn)行下進(jìn)行測試,造成的沖突。

Windows

netstat -ano | findstr "port"


用 PID 值去查出進(jìn)程名(上圖的PID是852)
tasklist | findstr "PID"
然后可以去任務(wù)管理器中去終止對應(yīng)程序,或者用 taskkill 命令結(jié)束:
taskkill /f /t /im PID

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容