Creating PID File?
Neil Sheth
nsheth at gmail.com
Fri Mar 21 05:11:21 MSK 2008
Is this specific to Gentoo?
On Thu, Mar 20, 2008 at 3:02 AM, Yordan Georgiev <y.georgiev at gmail.com> wrote:
> #!/sbin/runscript
> # Copyright 1999-2004 Gentoo Foundation
> # Distributed under the terms of the GNU General Public License v2
> # $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/files/nginx-r1,v 1.1
> 2006/07/04 16:58:38 voxus Exp $
>
> opts="${opts} upgrade reload configtest"
>
> depend() {
> need net
> use dns logger
> }
>
> start() {
> configtest || return 1
> ebegin "Starting nginx"
> start-stop-daemon --start --pidfile /var/run/nginx.pid \
> --exec /usr/sbin/nginx -- -c /etc/nginx/nginx.conf
> eend $? "Failed to start nginx"
> }
>
> stop() {
> configtest || return 1
> ebegin "Stopping nginx"
> start-stop-daemon --stop --pidfile /var/run/nginx.pid
> eend $? "Failed to stop nginx"
> rm -f /var/run/nginx.pid
> }
>
> reload() {
> configtest || return 1
> ebegin "Refreshing nginx' configuration"
> kill -HUP `cat /var/run/nginx.pid` &>/dev/null
> eend $? "Failed to reload nginx"
> }
>
> upgrade() {
> configtest || return 1
> ebegin "Upgrading nginx"
>
> einfo "Sending USR2 to old binary"
> kill -USR2 `cat /var/run/nginx.pid` &>/dev/null
>
> einfo "Sleeping 3 seconds before pid-files checking"
> sleep 3
>
> if [ ! -f /var/run/nginx.pid.oldbin ]; then
> eerror "File with old pid not found"
> return 1
> fi
>
> if [ ! -f /var/run/nginx.pid ]; then
> eerror "New binary failed to start"
> return 1
> fi
>
> einfo "Sleeping 3 seconds before WINCH"
> sleep 3 ; kill -WINCH `cat /var/run/nginx.pid.oldbin`
>
> einfo "Sending QUIT to old binary"
> kill -QUIT `cat /var/run/nginx.pid.oldbin`
>
> einfo "Upgrade completed"
>
> eend $? "Upgrade failed"
> }
>
> configtest() {
> ebegin "Checking nginx' configuration"
> /usr/sbin/nginx -c /etc/nginx/nginx.conf -t
> eend $? "failed, please correct errors above"
> }
>
>
More information about the nginx
mailing list