netstat -p 标志不起作用

netstat -p flag not working

我正在尝试关闭一些 CLOSE_WAIT 本地主机进程,因此我正在尝试使用 'netstat -anp'.

获取它们的进程 ID

我看过很多推荐这个的帖子,但是,每次我在终端中输入这个命令时,我都会收到这个手册页消息:

netstat: option requires an argument -- p
Usage:  netstat [-AaLlnW] [-f address_family | -p protocol]
netstat [-gilns] [-f address_family]
netstat -i | -I interface [-w wait] [-abdgRt]
netstat -s [-s] [-f address_family | -p protocol] [-w wait]
netstat -i | -I interface -s [-f address_family | -p protocol]
netstat -m [-m]
netstat -r [-Aaln] [-f address_family]
netstat -rs [-s]

我不知道是什么问题。

您在使用 linux 吗?或任何其他 BSD 版本,例如 OS X?

在 Linux 中,-p 引用进程 ID(PID - 您期望的)而在 OS X 中(也许在 free/open BSD 中也是如此,但无法确认it) -p 引用协议并需要指定它。

关于您发布的输出,这似乎是问题所在,您可以改用: (也许你会更改端口范围,我以整行为例)

lsof -i tcp:1-1024 -P |grep CLOSE_WAIT