How to use pm2 - 10 common examples

To help you get started, we’ve selected a few pm2 examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github jeffallen6767 / chain / cli.js View on Github external
}
        console.log("server started...");
        
      });
      
      // set-up a message handler to process messages FROM slaves
      pm2.launchBus(function(err, bus) {
        bus.on('process:msg', messageFromServer);
        bus.on('log:out', function(data) {
          console.log(data.data);
        });
      });
    }
  };
  //pm2.connect(true, callback);
  pm2.connect(callback);

} else if (server === "stop") {
  // shutdown
  pm2.disconnect(function() {
    console.log("disconnected....");
    // kill the master controller and all slave miners
    pm2.killDaemon(function() {
      console.log("daemon killed....");
      process.exit(0);
    });
    // return control to the caller
    console.log("server shutdown...");
  });
} else {
  program.help();
  process.exit(0);
github mockstarjs / mockstar / packages / mockstar-cli / biz / local-server / run-by-pm2.js View on Github external
function deleteTask(name) {
    pm2.connect(function (err) {
        if (err) {
            console.error(err);
            process.exit(2);
        }

        pm2.describe(name, function (err, apps) {
            if (err) {
                pm2.disconnect();   // Disconnects from PM2
                throw err;
            }

            // 已存在的场景才需要删除
            if (apps.length && apps[0].name === name) {
                pm2.delete(name, function (err, apps) {
                    console.log('Stop local server success!');
                    pm2.disconnect();   // Disconnects from PM2
github cmux / koot / packages / koot / bin / dev.js View on Github external
const complete = () => {
        npmRunScript(`pm2 logs`);
        if (open) return opn(`http://localhost:${process.env.SERVER_PORT}/`);
    };

    // 遇到错误
    const encounterError = e => {
        const error = e instanceof Error ? e : new Error(e);
        exitHandler({ error: true });
        throw error;
    };

    // 连接 PM2
    // console.log('noDaemon', !global)
    try {
        pm2.connect(!global, async err => {
            if (err) {
                // console.error(err)
                process.exit(2);
            }

            // eslint-disable-next-line no-console
            console.log(
                `  ` +
                    chalk.yellowBright('[koot/build] ') +
                    __('build.build_start', {
                        type: chalk.cyanBright(__(`appType.${appType}`)),
                        stage: chalk.green('client'),
                        env: chalk.green('dev')
                    })
            );
github schahriar / Galleon / bin / tasks / start.js View on Github external
isPortTaken(25, function (error, available) {
        if (error || !available) {
          console.log("PORT 25 is not available", "\nTRY", "authbind --deep galleon start".magenta, "\nFind More info about authbind -> https://github.com/schahriar/Galleon/blob/master/tutorials/AUTHBIND.md")
          process.exit(0);
        }

        // Start a script on the current folder
        /* BADPATCH -- There are significant issues with providing PM2 with a local script (https://github.com/schahriar/Galleon/issues/2). Start.JS should implement fallback methods and use a launch script inside the .galleon folder by default.  */
        pm2.start(path.resolve(__dirname, '../galleon.js'), { name: 'galleon-instance', force: true, scriptArgs: process.argv, nodeArgs: "--max_old_space_size=300" }, function (err, proc) {
          if (err) return new Error(err);

          // Get all processes running
          pm2.list(function (err, process_list) {
            console.log("Process Started".green);
            console.log("Type".cyan + " galleon status ".bold + "to show process status".cyan);

            // Disconnect to PM2
            pm2.disconnect(function () { process.exit(0) });
          });
        });
      })
    })
github mockstarjs / mockstar / packages / mockstar-cli / biz / local-server / run-by-pm2.js View on Github external
pm2.connect(function (err) {
        if (err) {
            console.error(err);
            process.exit(2);
        }

        pm2.describe(name, function (err, apps) {
            if (err) {
                pm2.disconnect();   // Disconnects from PM2
                throw err;
            }

            // 已存在的场景才需要删除
            if (apps.length && apps[0].name === name) {
                pm2.delete(name, function (err, apps) {
                    console.log('Stop local server success!');
                    pm2.disconnect();   // Disconnects from PM2

                    if (err) {
                        throw err;
                    }
                });
            } else {
github raychat / pm2-alert / index.js View on Github external
_checkMemory() {

        console.log('check memory called')

        const _this = this;
        pm2.list((err, list) => {
            if (err || list.length === 0) {
                console.error('something went wrong with your processes, please check you processes list via pm2 l')
                process.exit()
            }
            list.forEach((proc) => {




                // if process is being enabled to monitoring then check memory of process
                if (_this._processes.indexOf(proc.name) !== -1) {


                    // if process memory more than alert.maxMemroySize then send notification
                    if (proc.monit.memory >= _this._config.memory.maxMemroySize) {
github jeffallen6767 / chain / cli.js View on Github external
pm2.disconnect(function() {
    console.log("disconnected....");
    // kill the master controller and all slave miners
    pm2.killDaemon(function() {
      console.log("daemon killed....");
      process.exit(0);
    });
    // return control to the caller
    console.log("server shutdown...");
  });
} else {
github TrueCar / gluestick / packages / gluestick / src / commands / start-server.js View on Github external
checkIfPM2ProcessExists(name, (exists) => {
      if (exists) {
        // TODO: Replace logger.
        // logger.debug(`Deleting process ${name}`);
        pm2.delete(name, () => {
          pm2.disconnect(() => {
            process.exit();
          });
        });
      } else {
        // TODO: Replace logger.
        // logger.warn(`No process with name ${name} exists`);
        pm2.disconnect(() => {
          process.exit();
        });
      }
    });
  });
github mockstarjs / mockstar / packages / mockstar-cli / biz / local-server / run-by-pm2.js View on Github external
pm2.describe(name, function (err, apps) {
            if (err) {
                pm2.disconnect();   // Disconnects from PM2
                throw err;
            }

            // 如果已存在,则先删除再启动
            if (apps.length && apps[0].name === name) {
                // 删除
                pm2.delete(name, function (err, apps) {
                    if (err) {
                        pm2.disconnect();   // Disconnects from PM2
                        throw err;
                    }

                    // 启动
                    pm2.start(pm2ConfigFilePath, function (err, apps) {
                        console.log('Start local server success!');
                        pm2.disconnect();   // Disconnects from PM2

                        if (err) {
                            throw err;
                        }
                    });
                });
            } else {
github mockstarjs / mockstar / packages / mockstar-cli / biz / local-server / run-by-pm2.js View on Github external
pm2.delete(name, function (err, apps) {
                    if (err) {
                        pm2.disconnect();   // Disconnects from PM2
                        throw err;
                    }

                    // 启动
                    pm2.start(pm2ConfigFilePath, function (err, apps) {
                        console.log('Start local server success!');
                        pm2.disconnect();   // Disconnects from PM2

                        if (err) {
                            throw err;
                        }
                    });
                });
            } else {