Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我编写了一个 NodeJS 服务,它将持续运行。我想使用 PM2 运行它的两个副本。
我也在尝试为它编写一个新贵脚本,但我无法让它工作(基本上stop不会工作,PID 永远不会正确。
stop
我在 upstart 的节上读了一点expect,它告诉 upstart 服务是分叉 0 次、一次还是两次,我意识到 PM2 分叉 4 次然后结束,所以没有 PID 供 upstart 杀死以停止进程。
expect
我应该放弃暴发户并为我的服务编写不同类型的启动脚本吗?
在窥探之后,我想我可以回答我自己的问题:不,upstart 不适合这种任务,它需要一个可以杀死的 PID 来关闭服务。在 PM2 的情况下,没有这样的 PID,而且“停止”服务的方法不是杀死一个进程,而是运行一个(pm2 stop all或pm2 kill)。所以,我回到了 pm2 自己生成的 bash 启动脚本。
pm2 stop all
pm2 kill