supm

1.0.25 • Public • Published

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) => {
	
});

Package Sidebar

Install

npm i supm

Weekly Downloads

1

Version

1.0.25

License

GPL-3.0

Unpacked Size

45.7 kB

Total Files

7

Last publish

Collaborators

  • train255