永远检测到的脚本退出代码:0

时间:2017-09-16 11:27:45

标签: node.js forever

我有app4.js内容:

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

Win10 cmd,我可以成功运行node app4.js并获得Example app listening on port 3000!

但是当我使用forever -a forever.log start app4.js时,它会显示错误

  

永远检测到的脚本退出代码:0

问题出在哪里?怎么解决?


Cmd消息:

D:\app>node app4.js
Example app listening on port 3000!
^C
D:\app>forever -a forever.log start app4.js
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
error: Forever detected script exited with code: 0


Another Answer说它与./bin/www有关,但我无法理解它是什么意思。

2 个答案:

答案 0 :(得分:0)

这意味着尝试将app.js代码移动到bin目录中的www文件。

in .bin / www

var express = require('express');
var app = express();

app.get('/', function (req, res) {
  res.send('Hello World!');
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

在某些版本的node / forever上似乎也是一个已知错误。

Issue

答案 1 :(得分:0)

经过一番尝试,我得到了它,这是我的完整过程:

1.开始时,我正在观看this video以了解forever,并在10:24使用forever start server.js并成功运行服务器文件。< / p>

2.理论上如果我使用forever start app4.js它应该成功,但我得到错误:

D:\app>forever start app4.js
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: app4.js
error:   Cannot start forever
error:   log file C:\Users\admin\.forever\forever.log exists. Use the -a or --append option to append log.

3.通过消息,我想我应该使用-a将日志附加到某个文件,因此我在当前文件夹下创建了一个日志文件forever2.log,然后使用forever -a forever2.log start app4.js,我收到了错误:

error: Forever detected script exited with code: 0

4.经过一番尝试后,我突然仔细查看了我正在阅读的nodejs书,其示例为forever start -l forever.log -o out.log -e err.log app.js,即-x放在start之间app.js,所以我将命令更改为forever start -a forever2.log app4.js并获得了

warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: forever2.log

这就是它处理forever2.log,但我想要的是app4.js

5.最后,我尝试了forever start -a app4.js,我得到了

warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: app4.js

然后我在http://localhost:3000/运行浏览器, Hello World!最终显示!