Luis Lobo Borobia Asked: 2014-05-30 14:34:10 +0800 CST2014-05-30 14:34:10 +0800 CST 2014-05-30 14:34:10 +0800 CST 是否有类似的工具可以实时显示进程和端口? 772 我想“实时”监控端口和使用它们的进程。有什么工具可以处理吗?我想像 top 这样的想法,但是有一列列出了进程正在使用的所有端口......或者端口列表、协议以及打开该端口或正在侦听的进程。 这适用于基于 Linux 的操作系统。 linux 5 个回答 Voted Joshua Huber 2014-05-30T14:49:09+08:002014-05-30T14:49:09+08:00 只是想问哪个操作系统,并注意到您编辑添加它。那你就走运了。在 BASH shell 中尝试这个快速而肮脏的单行(以 root 身份): while true ; do output=$(netstat -anptu) ; clear ; echo "$output" ; sleep 2 ; done 编辑:更简洁,有序的输出: while true ; do output=$( (netstat -anpt | awk '{ print $1" "$4" "$7" "$6 }' | tail -n +3 ; netstat -anpu | awk '{ print $1" "$4" "$6 }' | tail -n +3 ) | egrep '[0-9]\/' | sort | uniq) ; clear ; date ; echo "$output" ; sleep 2 ; done kasperd 2014-05-30T14:41:19+08:002014-05-30T14:41:19+08:00 您没有指定操作系统。但是如果是Linux(我猜很可能,因为你提到top了),那么就有一个叫做的工具iftop,它可以通过IP地址显示当前的带宽使用情况。这不完全是您所要求的,但根据您的需要,可能足够接近。 deppfx 2015-09-28T12:59:45+08:002015-09-28T12:59:45+08:00 为什么没有人-c建议netstat. 添加-c到您现有的netstat命令中,它会实时显示输出。 Best Answer Luis Lobo Borobia 2016-11-19T09:18:05+08:002016-11-19T09:18:05+08:00 一段时间后,我发现nethogs,这正是我首先需要的: 它需要设备名称作为第一个参数,并且必须以 sudo 运行: sudo nethogs wlp9s0 void 2019-09-12T00:21:36+08:002019-09-12T00:21:36+08:00 查看lsof工具-i的-p选项: watch lsof -a -itcp -p <PID>
只是想问哪个操作系统,并注意到您编辑添加它。那你就走运了。在 BASH shell 中尝试这个快速而肮脏的单行(以 root 身份):
编辑:更简洁,有序的输出:
您没有指定操作系统。但是如果是Linux(我猜很可能,因为你提到
top
了),那么就有一个叫做的工具iftop
,它可以通过IP地址显示当前的带宽使用情况。这不完全是您所要求的,但根据您的需要,可能足够接近。为什么没有人
-c
建议netstat
.添加
-c
到您现有的netstat
命令中,它会实时显示输出。一段时间后,我发现
nethogs
,这正是我首先需要的:它需要设备名称作为第一个参数,并且必须以 sudo 运行:
sudo nethogs wlp9s0
查看lsof工具
-i
的-p
选项:watch lsof -a -itcp -p <PID>