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

相關文章
相關標籤/搜索