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

    极乐鸟
  • 相关阅读:
    PHP atanh() 函数
    PHP atan2() 函数
    PHP atan() 函数
    #检查磁盘使用率超过90%,并且后台进程没有rman在跑,就运行 /data/script/del_dg_arch.sh 脚本清理归档
    [学习笔记]自适应辛普森积分
    C# 如何写 DEBUG 输出
    C# 如何写出一个不能被其他程序集继承的抽象类
    C# 如何写出一个不能被其他程序集继承的抽象类
    C# 如何引用 WshShell 类
    C# 如何引用 WshShell 类
  • 原文地址:https://www.cnblogs.com/fyc119/p/6959593.html
Copyright © 2011-2022 走看看