node.js processes with the same name in forever are closed when trying to close only one

吃可爱长大的小学妹 提交于 2019-11-27 16:05:22

问题


I am deploying two node.js apps on the aws, the two apps are in the paths shown as

/home/ubuntu/nodes/app1/app.js
/home/ubuntu/nodes/app2/app.js

respectively

to run the node.js apps in the background, I used forever to start two apps, so like

   $ sudo forever start /home/ubuntu/nodes/app1/app.js
   $ sudo forever start /home/ubuntu/nodes/app2/app.js

so forever works well by running the two node.js apps in the background process. However, when I tried to stop one process with forever command like this.

   $ sudo forever stop /home/ubuntu/nodes/app1/app.js

unexpectedly, both node.js process are closed with info like this

info:    Forever stopped process:
data:        uid  command         script forever pid   logfile                 uptime
[0] r2pZ /usr/bin/nodejs app.js 24852   24854 /root/.forever/r2pZ.log 0:0:1:14.775
[1] 9f2h /usr/bin/nodejs app.js 24870   24872 /root/.forever/9f2h.log 0:0:0:58.733

I assume it is because two node.js process has the same name - app.js, how to avoid this by close only one process


回答1:


You can kill only one process using the index of the process shown in the forever list command. For example, if you type forever stop 1, only the process with the index 1 will be killed




回答2:


You can use an uid (see here):

$ sudo forever --uid "app1" start app.js
$ sudo forever --uid "app2" start app.js

And to stop:

$ sudo forever stop app1

Update
The --uid option is deprecated. Now you can use the --pidFile option. Example:

forever start --pidFile /some/path/app1.pid app.js
forever start --pidFile /some/path/app2.pid app.js

And to stop:

forever stop --pidFile /some/path/app1.pid


来源:https://stackoverflow.com/questions/20426116/node-js-processes-with-the-same-name-in-forever-are-closed-when-trying-to-close

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!