如何杀死 pm2 --no-daemon 进程
Posted
技术标签:
【中文标题】如何杀死 pm2 --no-daemon 进程【英文标题】:How to kill the pm2 --no-daemon process 【发布时间】:2017-12-25 12:41:25 【问题描述】:我使用 pm2 作为 Node.js 的进程管理器。
在很多情况下,我认为我会将它作为守护进程运行,但如果你在本地使用它作为调试,我认为有时你会使用--no-daemon
选项。
使用--no-daemon
选项移动 pm2 时如何结束进程?
【问题讨论】:
【参考方案1】:你可以试试:
pm2 kill
或使用以下命令查找正在运行的 PM2 进程:
ps aux | grep PM2
然后杀死:
kill -9 [pid]
-9
开关向进程发送 KILL 信号,而不是默认中断(INT
或 SIGINT
)信号,等效于 -KILL
或 -SIGKILL
。中断是一种侵入性较小的方式,您可以先尝试让进程正常退出,但是,如果它没有响应,kill 信号应该导致立即终止(除非进程是僵尸进程)。
【讨论】:
是的。当然它可以那样杀人。但是,每次都做另一个窗口很麻烦 我知道明白。命令结果为PM2 God Daemon
。当您播放pm2 kill
时,问题已解决。非常感谢:)
pm2 kill 的反面是什么,我想重新开始【参考方案2】:
您可以查看所有使用 pm2 注册的进程
pm2 list
假设您要停止的进程被命名为 processA,使用以下命令将停止 processA:
pm2 stop processA
如果你想删除进程而不是使用以下命令:
pm2 delete processA
如果您不想杀死特定进程,而是使用以下命令杀死 pm2 本身:
pm2 kill
【讨论】:
【参考方案3】:正确答案是pm2 kill
$pm2 杀 [PM2] [v] 模块停止 [PM2] 在应用上应用操作 deleteProcessId [all](ids: 0) [PM2] 你好✓ [PM2] [v] 所有应用程序已停止 [PM2] [v] PM2 守护进程已停止
【讨论】:
【参考方案4】:其他解决方案是运行pm2 delete all
或pm2 stop all
。这不会杀死 pm2 进程本身,但会清理内部 pm2 的进程列表。
【讨论】:
【参考方案5】:首先列出所有进程:
pm2 list
假设你的进程是开发者
pm2 stop dev
现在,删除进程
pm2 delete dev
在该进程状态变为daemon
之后。
如果你想杀死那个守护进程然后运行命令
pm2 kill
【讨论】:
【参考方案6】:如果它在前台运行,你应该可以用ctl + c
杀死它,就像你可以杀死node server.js
一样。
【讨论】:
我试过了。但是,当我运行pm2 list
时,状态仍将在线
这应该告诉你 pm2 实际上并没有在前台运行。它已被守护为后台进程。您应该在运行top
时看到它,或者您也可以通过@marekful 上面的建议进行搜索:ps aux | grep PM2
以查看 pm2 进程是否正在运行。无论如何,您有什么理由在本地运行它?以上是关于如何杀死 pm2 --no-daemon 进程的主要内容,如果未能解决你的问题,请参考以下文章