Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 950
user824624 Avatar asked Dec 06 '13 14:12

user824624


1 Answers

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
like image 51
Victor Avatar answered Sep 29 '22 11:09

Victor