zoukankan      html  css  js  c++  java
  • nodejs 守护进程运行

    有四种方法:

    1.forever

     forver start  bin/www

    2.pm2 

     pm2 strat bin/www

    3.node自身进程保护

    nohup node /bin/www  > 1.log &

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

    4.node写自身进程保护

    /**

    *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

    极乐鸟
  • 相关阅读:
    大话GridView—(1) 编辑、删除、查看详情、分页
    『协议』XMLRPC 协议规格说明
    『ExtJS』01 009. ExtJS 4 方法重载
    [SQL2005触发器学习]3、Instead Of触发器
    [SQL2005触发器学习]1、初识触发器
    禁止.NET程序多开
    面试遇到的面试题分析
    关于Page,Master,UserControl的初始化及加载顺序
    ASP.NET 下关于ACCESS连接字符串的配置
    [SQL2005触发器学习]2、After触发器
  • 原文地址:https://www.cnblogs.com/fyc119/p/6959593.html
Copyright © 2011-2022 走看看