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

问题描述 投票:0回答:8

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

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

--no-daemon
选项。

使用此

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

node.js daemon pm2 process-management
8个回答
122
投票

你可以试试:

pm2 kill

或者找到正在运行的 PM2 进程:

ps aux | grep PM2

然后杀死:

kill -9 [pid]

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


40
投票

您可以使用 pm2 查看所有已注册的进程

pm2 list

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

pm2 stop processA

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

pm2 delete processA

如果你不想杀死一个特定的进程,而是使用下面的命令杀死 pm2 本身:

pm2 kill

11
投票

正确答案是pm2 kill

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


9
投票

Other solution will be run

pm2 delete all
or
pm2 stop all
.这不会杀死 pm2 进程本身,但会清理内部 pm2 的进程列表。


6
投票

首先列出所有进程:

pm2 list

假设您的过程是开发

pm2 stop dev

现在,删除进程

pm2 delete dev

在该过程状态变为

daemon
.

之后

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

pm2 kill

4
投票
sudo pkill -f pm2

这应该会杀死 linux 中 pm2 的所有进程


0
投票

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

/home/nodejs/.pm2
.

如果是这种情况,您需要切换到该用户:

sudo su nodejs
然后从那里运行 pm2 kill 命令。


-4
投票

如果它在前台运行,你应该可以用

ctl + c
杀死它,就像你杀死
node server.js
一样。

© www.soinside.com 2019 - 2024. All rights reserved.