我想kill
在OS X上使用端口161(SNMP)相關的進程中運行找到並殺死的過程,在端口
我嘗試使用netstat
和lsof
得到與該端口關聯的進程ID,但這些似乎都沒有列出PID:
$ netstat -an | grep 161
udp4 0 0 *.161 *.*
$ netstat -anp udp | grep 161
udp4 0 0 *.161 *.*
lsof -i :161
我想kill
在OS X上使用端口161(SNMP)相關的進程中運行找到並殺死的過程,在端口
我嘗試使用netstat
和lsof
得到與該端口關聯的進程ID,但這些似乎都沒有列出PID:
$ netstat -an | grep 161
udp4 0 0 *.161 *.*
$ netstat -anp udp | grep 161
udp4 0 0 *.161 *.*
lsof -i :161
SNMP是UDP,而不是TCP。它不會「聽」,因爲UDP套接字沒有這種概念。
而是根據其名稱或進程ID來查找進程。
從技術上講,這是不正確的,[有基於TCP的SNMP](https://tools.ietf.org/html/rfc3430),但它不常用。 'snmpd'似乎實現了TCP(請參閱'man snmpd'),其手冊頁甚至聲明瞭*「默認情況下,snmpd在所有IPv4接口上偵聽UDP端口161上的傳入SNMP請求。」*但不幸的是,措辭可能是錯誤的。 「listen」!='listen()'。信息OP在* can *之後可以使用'netstat -anup |檢索grep:161',只是不在OS X上。 –
在'netstat'中使用'-p'選項 – jyotesh
我在Ubuntu上,如果我運行命令「sudo netstat -anp」而不是「netstat -anp」,我正在獲取進程ID。 – msound
嘗試'netstat -anp | grep:161 [[:blank:]]'。或'lsof -w -n -i tcp:161'或'fuser -n tcp 161' –