Resurrect processes if they die.
Jesus is a simple-ish process management tool. It's designed to be very light, while still providing functions enough to be automated if necessary. To that end, it only runs a single process to monitor all your stuff. It can be exposed via a unix socket (default) or an actual network interface for automation.
Available via npm:
$ npm install jesus -g
Or via git:
$ npm install git://github.com/deoxxa/jesus.git -g
usage: jesus [-h] [-v]
{listen,daemon,start,stop,stopall,restart,restartall,check,list}
...
Resurrect processes if they die
Optional arguments:
-h, --help Show this help message and exit.
-v, --version Show program's version number and exit.
Actions:
{listen,daemon,start,stop,stopall,restart,restartall,check,list}
jesus
will use the JESUS_HOST
, JESUS_PORT
, JESUS_SOCKET
, JESUS_BASE
,
JESUS_LOG
, and JESUS_STATE
environment variables if they are defined. See
below for where they are useful.
usage: jesus listen [-h] [-H HOST] [-p PORT] [-s SOCKET] [-b BASE_PATH]
[-l LOG] [-S STATE]
Start jesus listening
Optional arguments:
-h, --help Show this help message and exit.
-H HOST, --host HOST Host for jesus to listen on
-p PORT, --port PORT Port for jesus to listen on
-s SOCKET, --socket SOCKET
Unix socket for jesus to listen on (only used if
host/port are not)
-b BASE_PATH, --base-path BASE_PATH
Base directory for application logs and other files
to go in
-l LOG, --log LOG Log file for actions taken and events emitted by jesus
-S STATE, --state STATE
State file for keeping track of running processes
between starts/stops
usage: jesus daemon [-h] [-H HOST] [-p PORT] [-s SOCKET] [-b BASE_PATH]
[-l LOG] [-S STATE]
Start jesus listening and daemonise
Optional arguments:
-h, --help Show this help message and exit.
-H HOST, --host HOST Host for jesus to listen on
-p PORT, --port PORT Port for jesus to listen on
-s SOCKET, --socket SOCKET
Unix socket for jesus to listen on (only used if
host/port are not)
-b BASE_PATH, --base-path BASE_PATH
Base directory for application logs and other files
to go in
-l LOG, --log LOG Log file for actions taken and events emitted by jesus
-S STATE, --state STATE
State file for keeping track of running processes
between starts/stops
usage: jesus start [-h] [-H HOST] [-p PORT] [-s SOCKET] [-n NAME] [-e ENV]
[-f {text,json}]
...
Start a process
Positional arguments:
command Command to run and supervise
Optional arguments:
-h, --help Show this help message and exit.
-H HOST, --host HOST Host where server for jesus to connect to is listening
-p PORT, --port PORT Port where server for jesus to connect to is listening
-s SOCKET, --socket SOCKET
Unix socket where server for jesus to connect to is
listening (only used if host/port are not)
-n NAME, --name NAME
-e ENV, --env ENV Environment variables (specified like NAME=VALUE)
-f {text,json}, --format {text,json}
usage: jesus stop [-h] [-H HOST] [-p PORT] [-s SOCKET] [-f {text,json}] name
Stop a process by name
Positional arguments:
name
Optional arguments:
-h, --help Show this help message and exit.
-H HOST, --host HOST Host where server for jesus to connect to is listening
-p PORT, --port PORT Port where server for jesus to connect to is listening
-s SOCKET, --socket SOCKET
Unix socket where server for jesus to connect to is
listening (only used if host/port are not)
-f {text,json}, --format {text,json}
usage: jesus stopall [-h] [-H HOST] [-p PORT] [-s SOCKET] [-f {text,json}]
Stop all processes
Optional arguments:
-h, --help Show this help message and exit.
-H HOST, --host HOST Host where server for jesus to connect to is listening
-p PORT, --port PORT Port where server for jesus to connect to is listening
-s SOCKET, --socket SOCKET
Unix socket where server for jesus to connect to is
listening (only used if host/port are not)
-f {text,json}, --format {text,json}
usage: jesus restart [-h] [-H HOST] [-p PORT] [-s SOCKET] [-f {text,json}]
name
Restart a process by name
Positional arguments:
name
Optional arguments:
-h, --help Show this help message and exit.
-H HOST, --host HOST Host where server for jesus to connect to is listening
-p PORT, --port PORT Port where server for jesus to connect to is listening
-s SOCKET, --socket SOCKET
Unix socket where server for jesus to connect to is
listening (only used if host/port are not)
-f {text,json}, --format {text,json}
usage: jesus restartall [-h] [-H HOST] [-p PORT] [-s SOCKET] [-f {text,json}]
Restart all processes
Optional arguments:
-h, --help Show this help message and exit.
-H HOST, --host HOST Host where server for jesus to connect to is listening
-p PORT, --port PORT Port where server for jesus to connect to is listening
-s SOCKET, --socket SOCKET
Unix socket where server for jesus to connect to is
listening (only used if host/port are not)
-f {text,json}, --format {text,json}
usage: jesus check [-h] [-H HOST] [-p PORT] [-s SOCKET] [-f {text,json}]
Check the status of a process
Optional arguments:
-h, --help Show this help message and exit.
-H HOST, --host HOST Host where server for jesus to connect to is listening
-p PORT, --port PORT Port where server for jesus to connect to is listening
-s SOCKET, --socket SOCKET
Unix socket where server for jesus to connect to is
listening (only used if host/port are not)
-f {text,json}, --format {text,json}
usage: jesus list [-h] [-H HOST] [-p PORT] [-s SOCKET] [-f {text,json}]
List all processes
Optional arguments:
-h, --help Show this help message and exit.
-H HOST, --host HOST Host where server for jesus to connect to is listening
-p PORT, --port PORT Port where server for jesus to connect to is listening
-s SOCKET, --socket SOCKET
Unix socket where server for jesus to connect to is
listening (only used if host/port are not)
-f {text,json}, --format {text,json}
3-clause BSD. A copy is included with the source.
- GitHub (deoxxa)
- Twitter (@deoxxa)
- Email (deoxxa@fknsrs.biz)