我在aws上部署了两个node.js应用程序,这两个应用程序位于显示为的路径中
/home/ubuntu/nodes/app1/app.js
/home/ubuntu/nodes/app2/app.js
Run Code Online (Sandbox Code Playgroud)
分别
为了在后台运行node.js应用程序,我永远用它来启动两个应用程序,就像这样
$ sudo forever start /home/ubuntu/nodes/app1/app.js
$ sudo forever start /home/ubuntu/nodes/app2/app.js
Run Code Online (Sandbox Code Playgroud)
所以通过在后台进程中运行两个node.js应用程序永远运行良好.但是,当我试图用这样的永远命令停止一个进程时.
$ sudo forever stop /home/ubuntu/nodes/app1/app.js
Run Code Online (Sandbox Code Playgroud)
出乎意料的是,node.js进程都关闭了这样的信息
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
Run Code Online (Sandbox Code Playgroud)
我假设这是因为两个node.js进程具有相同的名称 - app.js,如何通过仅关闭一个进程来避免这种情况
Vic*_*tor 42
你可以使用uid(见这里):
$ sudo forever --uid "app1" start app.js
$ sudo forever --uid "app2" start app.js
Run Code Online (Sandbox Code Playgroud)
并停止:
$ sudo forever stop app1
Run Code Online (Sandbox Code Playgroud)
更新不推荐使用
该--uid选项.现在您可以使用该--pidFile选项.例:
forever start --pidFile /some/path/app1.pid app.js
forever start --pidFile /some/path/app2.pid app.js
Run Code Online (Sandbox Code Playgroud)
并停止:
forever stop --pidFile /some/path/app1.pid
Run Code Online (Sandbox Code Playgroud)
小智 3
您只能使用命令中显示的进程索引来终止一个进程forever list。例如,如果输入forever stop 1,则只有索引为 1 的进程才会被终止
| 归档时间: |
|
| 查看次数: |
6739 次 |
| 最近记录: |