Master process on reload

Maxim Dounin mdounin at
Wed Jun 29 17:38:44 UTC 2016


On Wed, Jun 29, 2016 at 07:04:48PM +0200, B.R. wrote:

> Kind of basic question about nginx behavior here.
> On the docs page, it is said :
> > HUP -> changing configuration, keeping up with a changed time zone (only
> > for FreeBSD and Linux), starting new worker processes with a new
> > configuration, graceful shutdown of old worker processes
> This is exact since the HUP signal is used to reload configuration and
> spawn new workers with it.
> However, a little bit further on the same page, in the on-the-fly upgrade
> section, you got:
> > Send the HUP signal to the old master process. The old master process will
> > start new worker processes without re-reading the configuration. After
> > that, all new processes can be shut down gracefully, by sending the QUIT
> > signal to the new master process.
> Is this behavior due to the USR2 signal previously sent, the old master
> knowing it is the old one (and thus knowing it should avoid loading an
> improper configuration suitable for another version)?

Yes.  The old master knows it previously started a new master, 
and on the HUP signal it just starts new workers (if the new 
master is still running).  If/when the old master exits, the old 
master is notified about this, and starts to work normally.

Additional details can be found in 

Maxim Dounin

More information about the nginx mailing list