nodejs 守护进程运行

有四种方法:node

1.forever数组

 forver start  bin/wwwapp

2.pm2 ui

 pm2 strat bin/wwwspa

3.node自身进程保护命令行

nohup node /bin/www  > 1.log &进程

平时在系统终端中执行一个命令后若是想当即的中止它,您能够同时按下系统组合键"Ctrl+c",这样命令的进程将会当即被终止,是生产工做中比较经常使用的命令行快捷键之一。或者有些命令在执行时会不断的在屏幕上输出信息,影响到我们继续输入命令了,即可以在执行命令时在命令最后面添加上一个"&"符号,这样命令从开始执行就默认被放到系统后台了。事件

4.node写自身进程保护string

/** pm2

*Created by zzl on 2017/1/8.

*/

var fork = require('child_process').fork;

 

//保存被子进程实例数组

var workers = [];

//这里的被子进程理论上能够无限多

var appsPath = ['./app.js'];

var createWorker = function(appPath){

  //保存fork返回的进程实例

  var worker = fork(appPath);

  //监听子进程exit事件

  worker.on('exit',function(){

    console.log('worker:' + worker.pid + 'exited');

    delete workers[worker.pid];

    createWorker(appPath);

   });

  workers[worker.pid] = worker;

  console.log('Create worker:' + worker.pid);

  };

//启动全部子进程

for (var i = appsPath.length - 1; i >= 0; i--) {

  createWorker(appsPath[i]);

  }

//父进程退出时杀死全部子进程

process.on('exit',function(){

   for(var pid in workers){

    workers[pid].kill();

  }

});

 

 

总结:相对来讲,pm2 和 forever 比较好,对于nodejs项目, 网页上有错误,pm2 也能守护运行,第三种 nohup node /bin/www  > 1.log &  很容易被挂掉。推荐pm2 和 forever ,pm2 和 forever 对比,更加推荐 pm2

相关文章
相关标签/搜索