supm
v1.0.25
Published
Process manager using supervisor
Downloads
58
Readme
Process manager using supervisor
Installation
# global package
npm install supm@latest -g
# local package
npm install supm@latest
Create File
mkdir -p ~/.supm/logs
mkdir -p ~/.supm/services
Config supervisor (/etc/supervisor.conf)
[unix_http_server]
file=~/.supm/supervisor.sock
chmod=0700 ; sockef file mode (default 0700)
chown=yourusername:yourusername
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
[include]
files = /<home-path>/.supm/services/*.conf
Stop and start supervisord
ps -aux | grep supervisord
kill -9 <PID>
sudo supervisord -c /etc/supervisor.conf
sudo chown -R yourusername:yourusername /var/log/supervisor
Start Process
cd my_project
supm start "node index.js" -name "process-name" -num 5 -env "PORT=6999" -increase "PORT"
Help
supm -h
List Processes
supervisorctl status
Log Process
supervisorctl tail -f process-name
Delete Process
supervisorctl remove process-name
Programmatic
const supm = require('supm');
supm.list((err, process_list) => {
})
supm.restart({
name: "process-name",
"env": {
"PORT": "5000"
}
}, (err) => {
});