CNode

nodejs如何以守护进程运行啊?

Wwimlwiml发布于15 年前最后回复8 年前11 回复39604 浏览0 收藏
查看回复

回复 (11)

G
goooto#1·13 年前

可以使用forever吧。

J
JustinLiao1314#2·8 年前
const cp = require('child_process');
const child = cp.spawn('node', [__dirname + '/child.js'], { detached: true, stdio: 'ignore' });
process.exit(0);
W
willwen#3·15 年前

nohup node 1 &

T
tank00#4·14 年前

后台进程。windows可以变成一个服务。

S
shawny#5·14 年前

个人比较推崇使用screen

R
rench#6·14 年前

1.forever 2.node t.js &

M
monwf#7·14 年前

linux下可以试试upstart

J
jsonshen#8·14 年前

nohup node app.js &

W
willwen#9·14 年前

之前我在小田那里得到了一个更好的方法,这也是Joyent官方所推荐的:

var cluster = require('cluster');
if (cluster.isMaster) {
  //Fork a worker to run the main program
  for (var i = 0; i < 2; i++) var worker = cluster.fork();
} else {
  //Run main program
  require('./app.js');
  console.log('worker is running');
}

cluster.on('death', function(worker) {
  //If the worker died, fork a new worker
  console.log('worker ' + worker.pid + ' died. restart...');
  cluster.fork();
});

这个是我的MoeStream的保护进程,我加了一些注释,以便大家使用。

W
wimlwiml#10·14 年前

谢谢WillWen和其它朋友,我暂时先用:
nohup node 1.js > 1.log &

M
mejinke#11·14 年前

我也是使用 nohup node 1.js > 1.log & 这种方式 参考:http://www.iblue.cc/2012/02/如何提高nodejs程序的稳定性/

参与回复
登录后即可参与回复。登录