#!/bin/sh pidfile=/usr/local/openresty/nginx/logs/nginx.pid nginx=/usr/local/openresty/nginx/sbin/nginx oldpid=`cat $pidfile` echo "old pid: $oldpid" kill -USR2 $oldpid sleep 1 ls -l ${pidfile}.oldbin #$nginx newpid=`cat $pidfile` echo "new pid: $newpid" kill -WINCH $oldpid ps -ef|grep nginx while [ 1 ]; do ps -ef | grep "nginx: worker process"|grep $oldpid || break sleep 1 done echo "kill old worker" ps -ef|grep nginx kill -QUIT $oldpid