如何杀死 pm2 --no-daemon 进程

How to kill the pm2 --no-daemon process

我正在使用 pm2 作为 Node.js 的进程管理器。

在很多情况下,我想我会运行它作为一个守护进程,但是如果你在本地使用它作为调试,我认为有时候你会使用--no-daemon选项。

使用此 --no-daemon 选项移动 pm2 时如何结束进程?

你可以试试:

pm2 kill

或找到 运行 PM2 进程:

ps aux | grep PM2

然后杀死:

kill -9 [pid]

-9 开关向进程发送 KILL 信号而不是默认中断(INTSIGINT)信号,相当于 -KILL-SIGKILL。中断是一种侵入性较小的方式,您可以先尝试让进程正常退出,但是,如果它没有响应,kill 信号应该会导致立即终止(除非进程是僵尸进程)。

如果它是 运行 在前台,你应该可以用 ctl + c 杀死它,就像你杀死 node server.js 一样。

其他解决方案是 运行 pm2 delete allpm2 stop all。这不会杀死 pm2 进程本身,但会清理内部 pm2 的进程列表。

正确答案是pm2 kill

$pm2 kill
[PM2] [v] 模块停止
[PM2] 在应用 [all](ids: 0)
上应用操作 deleteProcessId [PM2] 你好 ✓
[PM2] [v] 所有应用程序已停止
[PM2] [v] PM2 守护程序已停止

您可以使用

查看所有注册到pm2的进程

pm2 list

假设您要停止的进程名为 processA,使用以下命令将停止 processA:

pm2 stop processA

如果您想删除该进程,请使用以下命令:

pm2 delete processA

如果您不想杀死特定进程,而是想使用以下命令杀死 pm2 本身:

pm2 kill

首先列出所有进程:

pm2 list

假设您的进程是开发

pm2 stop dev

现在,删除进程

pm2 delete dev

之后进程状态变为 daemon

如果你想杀死那个守护进程那么运行命令

pm2 kill

要添加到已接受的答案中的一件事。这些命令仅适用于当前用户。我对 digitalocean 液滴有同样的问题。我使用“ubuntu”用户名登录,但我看到 God Daemon 指向 /home/nodejs/.pm2.

如果是这种情况,您需要切换到该用户: sudo su nodejs 然后 运行 从那里执行 pm2 kill 命令。

sudo pkill -f pm2

这应该会杀死 linux

中的所有 pm2 进程