pm86
v0.0.11
Published
Production process manager for Node.JS applications with a built-in load balancer.
Downloads
15
Maintainers
Keywords
Readme
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:
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
Monitoring all processes launched:
$ pm86 monit
Log facilities
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