当试图closures只有一个node.js永远同名的进程是closures的
我正在aws上部署两个node.js应用程序,这两个应用程序位于如下所示的path中
/home/ubuntu/nodes/app1/app.js /home/ubuntu/nodes/app2/app.js
分别
在后台运行node.js应用程序,我永远用来启动两个应用程序,如此
$ sudo forever start /home/ubuntu/nodes/app1/app.js $ sudo forever start /home/ubuntu/nodes/app2/app.js
所以通过在后台进程中运行两个node.js应用程序永远可以很好地工作。 但是,当我试图用这样的永远命令来停止一个进程。
$ sudo forever stop /home/ubuntu/nodes/app1/app.js
意外的是,两个node.js进程都是用这样的信息closures的
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
我认为这是因为两个node.js进程具有相同的名称 – app.js,如何通过closures只有一个进程
您可以使用forever list
命令中显示的进程的索引只杀死一个进程。 例如,如果您键入forever stop 1
,则只有索引为1的进程将被forever stop 1
你可以使用一个uid(见这里 ):
$ sudo forever --uid "app1" start app.js $ sudo forever --uid "app2" start app.js
并停止:
$ sudo forever stop app1
更新
--uid
选项已弃用。 现在你可以使用--pidFile
选项。 例:
forever start --pidFile /some/path/app1.pid app.js forever start --pidFile /some/path/app2.pid app.js
并停止:
forever stop --pidFile /some/path/app1.pid