D 2013-08-31T13:03:08.712 L App::Sv N text/x-markdown P a5fa5f607a42e0011ae95f55daff52368a522d32 U ggl W 1283 # SYNOPSIS my $sv = App::Sv->new( run => { x => 'plackup -p 3010 ./sites/x/app.psgi', y => { cmd => 'plackup -p 3011 ./sites/y/app.psgi' restart_delay => 1, start_retries => 5, umask => '027', user => 'www', group => 'www' }, }, global => { listen => '127.0.0.1:9999', daemon => 0, umask => '077' }, ); $sv->run; # DESCRIPTION This module implements a multi-process supervisor. It takes a list of commands to execute and starts each one, and then monitors their execution. If one of the programs dies, the supervisor will restart it after start\_delay seconds. If a program respawns during start\_delay for start\_retries times, the supervisor gives up and stops it indefinitely. You can send SIGTERM to the supervisor process to kill all childs and exit. You can also send SIGINT (Ctrl-C on your terminal) to restart the processes. If a second SIGINT is received and no child process is currently running, the supervisor will exit. This allows you to tap Ctrl-C twice in quick succession in a terminal window to terminate the supervisor and all child processes Z 096c222bde8b34c7a3d7659f3c10231d