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

    极乐鸟
  • 相关阅读:
    CSS设置行高
    微信小程序-水平垂直居中
    CSS布局
    HTML学习笔记—标签
    微信小程序--通过请求网页获取信息并显示
    docker 安装完mysql 后客户端无法访问
    Docker
    docker安装成功启动失败
    嵌入式Servlet容器自动配置和启动原理
    springboot外置的Servlet容器
  • 原文地址:https://www.cnblogs.com/fyc119/p/6959593.html
Copyright © 2011-2022 走看看