我正在尝试启动一个节点服务器,但发现该端口已被使用。
我打开了许多节点进程,我希望知道其中哪一个正在使用该端口(无需反复试验)。
我正在寻找这样的命令:
$ showcommandthatupenedaport -p 9229a
~/myproject/node server.js pid: 343434
有一个命令可以给我这样的输出(非常欢迎 bash 脚本)
答案1
阿米纳达夫:
您可以尝试(所有都是我的服务器的示例):
- 如果您有 pid 并且想知道服务的名称,请运行 ps 命令。
例如:
$ -> ps -p 31232 -o comm=
apache2
- fuser:如果您想检查正在使用端口的服务:
$ -> $ -> lsof -t -i :80
871
31230
31232
您可以在一个 for 循环中同时使用它们:
$ -> for pid in $(lsof -t -i :80); do ps -p $pid -o comm=; done
apache2
apache2
apache2
还有更多命令,例如 netstat 或 ss,但我认为这已经足够了。
我希望对你有帮助。