如何在Windows上使用forever模块停止Node.js应用程序?

Sat*_*dar 54 javascript-events node.js

我已经经历了很多关于nodejs APP的永久模块的问题,但没有找到我的答案.

Forever模块在Linux机器上工作正常,但现在我将我的APP放在Windows 7上并试图永远运行它.首先我安装了永久模块

npm install forever -g
Run Code Online (Sandbox Code Playgroud)

之后,我运行我的应用程序

forever start app.js
Run Code Online (Sandbox Code Playgroud)

通过说文件app.js永远运行并且我正在成功访问我的应用程序,它运行正常.

当我执行命令时,forever stop app.js我收到错误

没有永远的文件正在运行

请建议我,如果有人在Windows上永远使用我如何在Windows上停止我的应用程序.

lak*_*tak 80

forever list 然后使用永远停止与id,例如forever stop 0

这是一个示例输出

user@some-server]$ forever list
info:    Forever processes running
data:        uid  command                                                  script forever pid   id logfile                          uptime        
data:    [0] 9Xzw ng serve --host 0.0.0.0 --port 4009         13164   29579    /home/ec2-user/.forever/9Xzw.log 7:1:20:50.412 
data:    [1] wOj1 npm run-script app-start-dev                                    29500   24978    /home/ec2-user/.forever/wOj1.log 0:0:5:3.433
Run Code Online (Sandbox Code Playgroud)

0就像输出的第一列中的索引.如果有两个进程在运行,我们可以使用0或等索引1来停止第一个或第二个进程.

forever stop 0 要么 forever stop 1


Mor*_*ker 10

我有同样的问题,发现这是因为我一直在运行sudo(在Linux上),所以我可以在端口80上运行一个生产站点.这样就可以了:

sudo forever list
Run Code Online (Sandbox Code Playgroud)


Ily*_*sev 6

这是Windows中的一个错误https://github.com/nodejitsu/forever/issues/337 如果您需要停止您的应用程序,只需打开任务管理器并找到node.js进程并将其终止.努力但工作.


del*_*ttg 6

这只是为了扩展@ laktak的答案.forever listWindows上的结果将如下所示:

info:    Forever processes running
data:        uid  command              script                          forever p
id   id logfile                               uptime
data:    [0] an1b "C:\nodejs\node.exe" C:\sbSerialWidget\server.js 8780    1
0152    C:\Users\username\.forever\an1b.log STOPPED
Run Code Online (Sandbox Code Playgroud)

我不确定最初是哪一个ID,但我发现它是data上面第二个字段之后的第一个条目,所以你感兴趣的行是ID粗体和斜体:

数据: [0] an1b C:\nodejs\node.exe C:\sbSerialWidget\server.js8780 1 0152 C:\ Users\username.forever\an1b.log STOPPED

因此,要停止此特定实例,您将运行:

forever stop 0

希望这能帮助像我一样困惑的其他人