Subtle differences of restart

Maxim Dounin mdounin at mdounin.ru
Tue Mar 12 10:13:44 UTC 2013


Hello!

On Mon, Mar 11, 2013 at 04:54:55PM -0400, kalpesh.patel at glgroup.com wrote:

> Hello all:
> 
> I had a few subtle question on NGINX operation and in particular are of
> reseading configuration :
> 
> -- Assuming NGINX processes are running and the configuration is syntacaly
> valid, what it the difference when '.../nginx -s reload' is executed versus
> 'kill -HUP <pid of master process>' is executed? Is ther any difference in
> the end result and if so what are they?

The "nginx -s reload" requires (otherwise unneeded) parsing of the 
configuration file.  Otherwise it's just a tricky way to do "kill -HUP ...".  
It was introduced mostly for win32 where there is no kill.

> -- Assuming NGINX processes are NOT running and the configuration is
> syntacaly valid, what will '.../nginx -s reload' will do?

It will fail as it won't be able to open pid file.

> -- Assuming NGINX processes are running and the configuration is syntacaly
> valid, what should be used to reread the configuraton from a cron job?

I would recommend using kill.

(Well, actually I wouldn't recommend reloading configuration by 
cron, at least without some precautions to prevent situation when 
there are too many worker processes shutting down.  But I assume 
you understand what you are doing.)

-- 
Maxim Dounin
http://nginx.org/en/donation.html



More information about the nginx mailing list