pm86

0.0.11 • Public • Published

P(rocess) M(anager) 86

PM86 is a production process manager for Node.js / io.js applications with a built-in load balancer. It allows you to keep applications alive forever, to reload them without downtime and to facilitate common system admin tasks.

Starting an application in production mode is as easy as:

$ pm86 start app.js

Install PM86

$ npm install pm86 -g

npm is a builtin CLI when you install Node.js - Installing Node.js or io.js with NVM

Start an application

$ pm86 start app.js

Your app is now put in background, kept alive forever and monitored.

Or you can use pm86 programmatically:

var pm86 = require('pm86');
 
pm2.connect(function() {
  pm2.start({
    script    : 'app.js',         // Script to be run
    exec_mode : 'cluster',        // Allow your app to be clustered
    instances : 4,                // Optional: Scale your app by 4
    max_memory_restart : '100M'   // Optional: Restart your app if it reaches 100Mo
  }, function(err, apps) {
    pm2.disconnect();
  });
});

Update PM86

# Install latest pm86 version 
$ npm install pm86 -g
# Save process list, exit old PM86 & restore all processes 
$ pm86 update

PM86 updates are seamless

Main features

Process management

Once apps are started you can list and manage them easily:

Process listing

Listing all running processes:

$ pm86 list

Managing your processes is straightforward:

$ pm86 stop     <app_name|id|'all'|json_conf>
$ pm86 restart  <app_name|id|'all'|json_conf>
$ pm86 delete   <app_name|id|'all'|json_conf>

To have more details on a specific process:

$ pm86 describe <id|app_name>

CPU / Memory Monitoring

Monit

Monitoring all processes launched:

$ pm86 monit

Log facilities

Monit

Displaying logs of a specified process or all processes, in real time:

pm86 logs ['all'|'PM86'|app_name|app_id] [--err|--out] [--lines <n>] [--raw] [--ti\ mestamp [format]]

Examples:

$ pm86 logs
$ pm86 logs WEB-API --err
$ pm86 logs all --raw
$ pm86 logs --lines 5
$ pm86 logs --timestamp "HH:mm:ss"
$ pm86 logs WEB-API --lines 0 --timestamp "HH:mm" --out
$ pm86 flush          # Clear all the logs 

Startup script generation

PM86 can generate and configure a startup script to keep PM86 and your processes alive at every server restart. Execute the startup command only as the user to be running the PM86 daemon.

$ pm86 startup
# auto-detect platform 
$ pm86 startup [platform]
# render startup-script for a specific platform, the [platform] could be one of: 
#   ubuntu|centos|redhat|gentoo|systemd|darwin|amazon 

To save a process list just do:

$ pm86 save

PM86 Full documentation

Changelog

CHANGELOG

Contributors

Contributors

Package Sidebar

Install

npm i pm86

Weekly Downloads

92

Version

0.0.11

License

AGPL-3.0

Last publish

Collaborators

  • jk77