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