在Linux上,我可以使用netstat-pntl | grep$PORT或fuser-n tcp$PORT来确定哪个进程(PID)正在侦听指定的tcp端口。如何在Mac OS X上获得相同的信息?
当前回答
我是一个Linux人。在Linux中,使用netstat-ltpn或这些字母的任何组合都非常容易。但在Mac OS X netstat中,grep LISTEN是最人性化的。其他的非常难看,在排除故障时很难记住。
其他回答
我是一个Linux人。在Linux中,使用netstat-ltpn或这些字母的任何组合都非常容易。但在Mac OS X netstat中,grep LISTEN是最人性化的。其他的非常难看,在排除故障时很难记住。
在OS X上,可以使用netstat的-v选项来提供相关的pid。
类型:
netstat -anv | grep [.]PORT
输出将如下所示:
tcp46 0 0 *.8080 *.* LISTEN 131072 131072 3105 0
PID是最后一列之前的数字,在本例中为3105
在macOS上,这里有一个简单的方法,可以通过netstat获取监听特定端口的进程ID。此示例查找端口80上提供内容的进程:
查找端口80上运行的服务器
netstat -anv | egrep -w [.]80.*LISTEN
样本输出
tcp4 0 0 *.80 *.* LISTEN 131072 131072 715 0
最后一列的第二个是PID。在上面,它是715。
选项
-a-显示所有端口,包括服务器使用的端口
-n-显示数字,不要查找名称。这使命令更快
-v-verbose输出,以获取进程ID
-w-搜索单词。否则,命令将返回端口8000和8001的信息,而不仅仅是“80”
LISTEN-仅为LISTEN模式下的端口(即服务器)提供信息
lsof -n -i | awk '{ print $1,$9; }' | sort -u
这显示了谁在做什么。删除-n以查看主机名(速度稍慢)。
这是我所需要的。
ps -eaf | grep `lsof -t -i:$PORT`
推荐文章
- 如何在交互式Python中查看整个命令历史?
- 为什么SCTP不常用/不为人所知
- 在OSX中永久设置PATH环境变量
- 如何停止mysqld
- 如何从远程SSH会话发送数据到本地剪贴板
- SSH端口转发~/。ssh /配置文件?
- 如何复制文件跨计算机使用SSH和MAC OS X终端
- Mac SQLite编辑器
- 在MacOS X上推荐用什么方式安装Node.js、nvm和npm ?
- 如何在Swift中删除视图的所有子视图?
- 如何在Mac OS Lion上从命令行启动MySQL服务器?
- 警告用户/local/mysql/data目录不属于mysql用户
- UDP和TCP比起来快多少?
- 在Mac OS X上使用鼠标聚焦(加上自动提升)
- 我在哪里可以找到Mac OS X Lion的“make”程序?