正如標題所說,我運行多個遊戲服務器,並且它們每個都有相同的name
但不同的PID
和port
號碼。我想匹配在某個端口上偵聽的服務器的PID
,然後我想殺死這個進程。我需要這個才能完成我的bash腳本。確定在某個端口上偵聽的進程pid
這可能嗎?因爲它在網上還沒有找到任何解決方案。
正如標題所說,我運行多個遊戲服務器,並且它們每個都有相同的name
但不同的PID
和port
號碼。我想匹配在某個端口上偵聽的服務器的PID
,然後我想殺死這個進程。我需要這個才能完成我的bash腳本。確定在某個端口上偵聽的進程pid
這可能嗎?因爲它在網上還沒有找到任何解決方案。
的netstat
的-p
標誌可以PID過程:
netstat -l -p
編輯:所需要獲取套接字的用戶的PID在FreeBSD中的命令是sockstat
。 隨着我們@Cyclone,完成該工作線在討論過程中摸索出的是:
sockstat -4 -l | grep :80 | awk '{print $3}' | head -1
netstat -nlp
應該告訴你什麼是在哪個端口上監聽的PID。
'netstat的:80:未知或樁的protocol'使用'80'(nginx)端口來測試purpoes。沒有工作。 – Cyclone 2012-03-24 23:39:42
短版,您可以通殺命令:
lsof -i:80 -t
這還包括在該端口上_connected_的進程。 'lsof -i4TCP:80 -sTCP:LISTEN -t'可能是你想要的,而是。 – Nevir 2016-03-26 21:18:49
正是我在找什麼。我想通過搜索它正在運行的端口來終止一個進程。 – mythicalcoder 2017-05-25 13:08:09
@Nevir你的意思是「還包括在該端口上連接的進程」?你能解釋一下嗎? – kishorer747 2017-07-05 06:22:11
netstat -p -l | grep $PORT
和lsof -i :$PORT
解決方案都不錯但我更喜歡fuser $PORT/tcp
擴展語法POSIX(這對於coreutils
工作)與管道:
pid=`fuser $PORT/tcp`
它打印純pid,所以你可以放下sed
魔法。
一兩件事,使fuser
我的情人工具是發送信號,這一過程直接的能力(這句法也擴展POSIX):
$ fuser -k $port/tcp # with SIGKILL
$ fuser -k -15 $port/tcp # with SIGTERM
$ fuser -k -TERM $port/tcp # with SIGTERM
而且-k由FreeBSD支持:http://www.freebsd.org/cgi/man.cgi?query=fuser
由於sockstat不是我的本地機器上安裝,我設計了stanwise的答案netstat的改用..
netstat -nlp | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:2000" | awk '{print $7}' | sed -e "s/\/.*//g""
我想以編程方式編輯爲 - 僅使用Bash - 終止偵聽給定端口的進程。
比方說,端口是8089,那麼這裏就是我如何做到了:
badPid=$(netstat --listening --program --numeric --tcp | grep "::8089" | awk '{print $7}' | awk -F/ '{print $1}' | head -1)
kill -9 $badPid
我希望這可以幫助別人!我知道這將幫助我的球隊。
這裏是我用來做的功能: 'function kill-listener {lsof -i:$ 1 -t | xargs kill -9 }' 使用您的8089端口示例:'kill-listener 8089' – 2017-06-21 14:00:14
在Windows上,netstat的選項來獲得PID的是-o和-p選擇協議過濾,例: 的netstat -a -p tcp的-o
'netstat:80:unknown或uninstrumented protocol'使用'80'(nginx)端口來測試purpoes。沒有工作。 – Cyclone 2012-03-24 23:36:16
你是怎麼得到這個錯誤的?什麼確切的命令產生了它? – stanwise 2012-03-24 23:45:07
'netstat -l -p 80',當我做'netstat -l -p'時我收到了這個手冊:http://pastebin.com/raw.php?i=q9jeQSBj – Cyclone 2012-03-24 23:48:56