gpt4 book ai didi

node.js - 如何找出哪个 Node.js pid 在哪个端口上运行

转载 作者:IT老高 更新时间:2023-10-28 23:18:23 24 4
gpt4 key购买 nike

我想重新启动我在服务器上运行的多个 Node.js 进程之一。如果我运行 ps ax | grep node 我得到了所有 Node 进程的列表,但它没有告诉我它们在哪个端口上。如何杀死在端口 3000 上运行的那个(例如)。管理多个 Node 进程的好方法是什么?

最佳答案

如果你运行:

$ netstat -anp 2> /dev/null | grep :3000

您应该会看到如下内容:

tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      5902/node

在这种情况下,5902 是 pid。你可以用这样的东西来杀死它:

netstat -anp 2> /dev/null | grep :3000 | awk '{ print $7 }' | cut -d'/' -f1 | xargs kill

这是一个使用 egrep 的替代版本,它可能会更好一些,因为它专门搜索字符串 'node':

netstat -anp 2> /dev/null | grep :3000 | egrep -o "[0-9]+/node" | cut -d'/' -f1 | xargs kill

你可以把上面的变成一个脚本或者把下面的放在你的~/.bashrc中:

function smackdown () {
netstat -anp 2> /dev/null |
grep :$@ |
egrep -o "[0-9]+/node" |
cut -d'/' -f1 |
xargs kill;
}

现在你可以运行了:

$ smackdown 3000

关于node.js - 如何找出哪个 Node.js pid 在哪个端口上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13129464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com