File libvirtd.init of Package libvirt

#!/bin/sh

# the following is the LSB init header see
# http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV
#
### BEGIN INIT INFO
# Provides:          libvirtd
# Required-Start:    $network $remote_fs
# Should-Start:      xend cgconfig
# Default-Start:     3 5
# Required-Stop:     $network $remote_fs
# Should-Stop:       xend cgconfig
# Default-Stop:      0 1 2 4 6
# Short-Description: daemon for libvirt virtualization API
# Description:       This is a daemon for managing QEMU guest instances
#                    and libvirt virtual networks
#                    See http://libvirt.org
### END INIT INFO


LIBVIRTD_BIN=/usr/sbin/libvirtd
LIBVIRTD_PIDFILE=/var/run/libvirtd.pid
test -x $LIBVIRTD_BIN || { echo "$LIBVIRD_BIN not installed";
         if [ "$1" = "stop" ]; then exit 0;
	 else exit 5; fi; }


. /etc/rc.status
rc_reset


case "$1" in
    start)
        if [ -e $LIBVIRTD_PIDFILE ]; then
                if checkproc $LIBVIRTD_BIN ; then
                        echo -n "libvirtd is already running."
			rc_status -v
                        exit
                else
                        echo "Removing stale PID file $LIBVIRTD_PIDFILE."
                        rm -f $LIBVIRTD_PIDFILE
                fi
        fi
        echo -n "Starting libvirtd "
        startproc $LIBVIRTD_BIN -d -l
        rc_status -v
        ;;
    stop)
        echo -n "Shutting down libvirtd "
        killproc -TERM $LIBVIRTD_BIN > /dev/null 2>&1
        rm -f $LIBVIRTD_PIDFILE
        rc_status -v
        ;;
    try-restart)
        $0 status >/dev/null &&  $0 restart
        rc_status
        ;;
    restart)
        $0 stop
        $0 start
        rc_status
        ;;
    reload)
	killproc -HUP $LIBVIRTD_BIN
        rc_status -v
        ;;
    status)
        echo -n "Checking status of libvirtd "
        checkproc $LIBVIRTD_BIN
        rc_status -v
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|try-restart|reload|status}"
	rc_failed 2
	rc_exit
        ;;
esac
rc_exit