multiwatch1
Forks and watches multiple instances of a program in the same environment
Usage
multiwatch [options]
--
<application>
[app
arguments]
multiwatch -v
multiwatch {--help | -?}
Overview
multiwatch is used to fork and watch multiple FastCGI backends.
Options
-
-f, --forks=children -
Number of children to fork and watch (default 1)
-
-r, --retry=retries -
Number of retries to fork a single child (default 3)
-
-t, --timeout=msecs -
Retry timeout in ms; if the child dies after the timeout the retry counter is reset (default 10000 ms = 10 s)
-
-s, --signal=signame -
Signal to send to children to signal 'graceful' termination (HUP,INT,QUIT,TERM,USR1,USR2, default is USR1)
-
-?, --help -
General usage instructions
-
-v, --version -
Show version and exit
Signal handling
multiwatch will forward the signal USR2; if it receives HUP,INT,QUIT,TERM or USR1, it will send the signal from --signal to the children; if it receives another signal from that group, it will forward the signal again.
A signal of the group HUP,INT,QUIT,TERM and USR1 tells multiwatch to go into "shutdown" mode, so it won't restart children after receiving it.
Examples
- Spawn 2 rails instances on the same FastCGI socket (and supervise them):
-
spawn-fcgi -s /tmp/fastcgi-rails.sock -n -- /usr/bin/multiwatch -f 2 /home/rails/public/dispatch.fcgi
Releases
8 releases since Debian 6.0 (Squeeze); the text changed 3 times.
--signal since Debian 8 (Jessie);
-s since Debian 8 (Jessie).