在 Linux 中终止节点进程



尝试使用节点服务器运行节点服务器时.js,我收到错误以侦听 EADDRINUSE :::4002。我通过以下命令在端口 4002 上侦听进程:sudo lsof -i :4002。之后,我尝试使用 kill -9 杀死进程。问题是当我在杀死进程后再次运行 sudo lsof -i :4002 命令时,我看到节点进程再次以不同的进程 id 运行。

节点服务器是由其他用户启动的,我正在尝试与另一个用户一起杀死它。

正如我们所讨论的那样,该过程由 pm2 管理和自动重新启动,您必须停止 pm2 进程,而不仅仅是杀死节点进程。为此,请运行以下命令

sudo -u <user who is running the process> pm2 list

现在,您将找到给定用户已启动的所有进程。从这里,获取要停止的进程的 id,然后运行(以停止单个进程(

sudo -u <user who is running the process> pm2 stop <id>

或者干脆阻止它们

sudo -u <user who is running the process> pm2 stop all

请注意sudo -u,仅当进程由 另一个用户。如果要停止当前用户拥有的进程 创建,省略sudo -u <user>部分

在终端中尝试使用此cmd以杀死所有节点进程:

killall node
  1. 'netstat -nptl' 查看所有进程
  2. kill -9 3887(
  3. 例如,节点运行超过 3887/节点(

最新更新