Add signal queueing for test reliability
[unicorn.git] / SIGNALS
blobc7c3833c6f44cea8397bc2b68895383865e1538b
1 == Signal handling
3 In general, signals need only be sent to the master process.  However,
4 the signals unicorn uses internally to communicate with the worker
5 processes are documented here as well.
7 === Master Process
9  * HUP - reload config file and gracefully restart all workers
10    If preload_app is false (the default), the application code
11    will be reloaded when workers are restarted as well.
13  * INT/TERM - quick shutdown, kills all workers immediately
15  * QUIT - graceful shutdown, waits for workers to finish their
16    current request before finishing.
18  * USR1 - reopen all logs owned by the master and all workers
19    See Unicorn::Util.reopen_logs for what is considered a log.
21  * USR2 - reexecute the running binary.  A separate QUIT
22    should be sent to the original process once the child is verified to
23    be up and running.
25 === Worker Processes
27 Sending signals directly to the worker processes should not normally be
28 needed.  If the master process is running, any exited worker will be
29 automatically respawned.
31  * INT/TERM - quick shutdown, immediately exit
33  * QUIT - gracefully exit after finishing the current request
35  * USR1 - reopen all logs owned by the worker process
36    See Unicorn::Util.reopen_logs for what is considered a log.