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
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With