2014-04-23 41 views
2

我想kill在OS X上使用端口161(SNMP)相关的进程中运行找到并杀死的过程,在端口

我尝试使用netstatlsof得到与该端口关联的进程ID,但这些似乎都没有列出PID:

$ netstat -an | grep 161 
udp4  0  0 *.161     *.* 

$ netstat -anp udp | grep 161 
udp4  0  0 *.161     *.* 

lsof -i :161 
+0

在'netstat'中使用'-p'选项 – jyotesh

+0

我在Ubuntu上,如果我运行命令“sudo netstat -anp”而不是“netstat -anp”,我正在获取进程ID。 – msound

+0

尝试'netstat -anp | grep:161 [[:blank:]]'。或'lsof -w -n -i tcp:161'或'fuser -n tcp 161' –

回答

0

SNMP是UDP,而不是TCP。它不会“听”,因为UDP套接字没有这种概念。

而是根据其名称或进程ID来查找进程。

+0

从技术上讲,这是不正确的,[有基于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上。 –