轉(zhuǎn)自:http://www.cnblogs.com/greenerycn/archive/2011/03/21/linux_use_pid_to_stop_nginx.html
nginx的結(jié)束重啟一般是通過下面命令來實(shí)現(xiàn)的:
其中26000是nginx的主進(jìn)程號。
每次都需要通過ps命令來查詢nginx的主進(jìn)程號,非常麻煩。 在《實(shí)戰(zhàn)nginx:取代Apache的高性能Web服務(wù)器》一書中提到了使用pid文件的方法,不巧的是給的命令漏了些東西,這里給出完整的指令。
什么是pid文件
pid文件就是一個(gè)純文本文件,里面記錄的是進(jìn)程的pid號。
下面是一個(gè)pid文件的內(nèi)容::
26032
nginx的默認(rèn)pid文件
nginx使用了pid文件來記錄master process的pid號,如果編譯時(shí)沒有指定,那它的路徑就是:
<prefix>/logs/nginx.pid
其中<prefix>是nginx的安裝路徑。
如果你想修改默認(rèn)的pid文件路徑,可以在編譯時(shí)加入配置。參數(shù)如下::
./configure –-pid-path=/data/test/ngx.pid
指定后,默認(rèn)的pid文件路徑就更改為::
/data/test/ngx.pid
如果指定只是路徑,沒有pid的文件名,那么pid的文件名還是nginx.pid
通過配置文件修改pid
除了使用默認(rèn)值和通過編譯時(shí)修改外,還可以通過在nginx的配置文件中修改。如下:
pid /data/test/nginx.pid;
這里修改的值只對使用該配置文件的nginx有效。
用PID文件停止Nginx
假設(shè)pid文件路徑為/data/logs/nginx.pid
kill –QUIT `cat /data/logs/nginx.pid`
用pid文件重新加載配置文件
kill –HUP `cat /data/logs/nginx.pid`