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

    极乐鸟
  • 相关阅读:
    数据库 proc编程三
    数据库 Proc编程二
    数据库 Proc编程一
    数据库 Oracle数据库对象二
    Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge
    生活感悟关键字
    科3
    NGINX 健康检查和负载均衡机制分析
    django模板里关闭特殊字符转换,在前端以html语法渲染
    django 获取前端获取render模板渲染后的html
  • 原文地址:https://www.cnblogs.com/fyc119/p/6959593.html
Copyright © 2011-2022 走看看