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
殺死進(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