You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS Shell如何准确查询Node进程占用的端口

获取Node进程占用的端口

你当前的脚本会抓取到非Node进程的端口,问题在于只提取了监听端口,但没有对进程是否为Node做过滤。修正后的脚本如下:

netstat -Watnlv |
grep LISTEN |
awk '{"ps -ww -o args= -p " $9 | getline procname; if (procname ~ /node/) print $4 }' |
grep '[*]' | sort -u | sed "s/*.//"

修正说明:

  • 在awk环节增加了判断逻辑:通过PID获取进程命令行后,检查是否包含node,只有符合条件的进程才会输出对应的端口
  • 其余步骤保留了你原脚本的逻辑,仅保留通配符绑定(*:开头)的端口,去重后去掉前缀*

如果需要获取Node进程监听的所有端口(包括绑定到特定IP的,比如127.0.0.1:3000),可以去掉grep '[*]'并调整sed的匹配规则:

netstat -Watnlv |
grep LISTEN |
awk '{"ps -ww -o args= -p " $9 | getline procname; if (procname ~ /node/) print $4 }' |
sort -u | sed "s/.*://"

内容的提问来源于stack exchange,提问作者Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:32:06