eternal

Monitor and restart long-running node processes.

npm install eternal
2 downloads in the last week
5 downloads in the last month

eternal

run things to eternity. It shouldn't matter what those runnable things happen to be.

Options

--help, -h - show help
--version, -v - show version
--debug, -d - show verbose debugging output

Commands:

start [script]

Start a script. Usage: eternal start thing.js

If a service is already running with the same key (or filename without a key specified), the running service will be stopped and the new one started.

Options

--exec, -e - specify an executable.
Can be either absolute/relative path or a command found in $PATH
Defaults to node

--max, -m - specify max number of restarts. Set to 0 for infinite restarts
Defaults to 10

--log - Explicit path to logfile for this service's stdout/stderr. Defaults to ~/.eternal/.log

--key - identifier to use for the service. This identifier will be used in logs and commands. (recommended)

Examples:

Start a node app that will restart forever:
eternal start app.js -n 0

Start a ruby script:
eternal start script.rb -e ruby

Start a script with an identifier:
eternal start script.js --key stage_app

stop [file]

Stop a script. Usage: eternal stop thing.js

If a key was specified in eternal start command, it should be used instead of filename.

Examples:

eternal stop app.js

eternal stop stage_app

stopall

Stop all eternal services [for current user]. Usage: eternal stopall

restart [file]

Restart a script. Usage: eternal restart thing.js

If a key was specified in eternal start command, it should be used instead of filename.

Examples:

eternal restart app.js

eternal restart stage_app

restartall

Restart all currently monitored services. Usage: eternal restartall

list

List all currently monitored services. Usage: eternal list

Options

--json - output JSON instead of pretty-printing

TODO v0.1.0:

output modes -- pretty print, JSON

basic tests

Options:

  • --color, --nocolor - for better pretty-printing
  • --watch: watch files for changes and restart, with options as to which files are watched
npm loves you