tags 551501 + patch
thanks

Here is an initscript you can use, it works pretty well for me.

micah

#!/bin/sh 
#
### BEGIN INIT INFO
# Provides:          rbot
# Should-Start:      $network
# Should-Stop:       $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: ruby irc bot
# Description:       ruby irc bot
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin

DAEMON=/usr/bin/rbot
NAME=rbot
DESC="ruby irc bot"
USER=rbot

PIDFILE=/var/run/$NAME.pid

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

# Default options, these can be overriden by the information
# at /etc/default/$NAME
DAEMON_OPTS=""      

# Include defaults if available
if [ -f /etc/default/$NAME ] ; then
        . /etc/default/$NAME
fi

# Check that the user exists (if we set a user)
# Does the user exist?
if [ -n "$USER" ] ; then
    if getent passwd | grep -q "^$USER:"; then
        # Obtain the uid and gid
        DAEMONUID=`getent passwd |grep "^$USER:" | awk -F : '{print $3}'`
        DAEMONGID=`getent passwd |grep "^$USER:" | awk -F : '{print $4}'`
    else
        log_failure_msg "The user $USER, required to run $NAME does not exist."
        exit 1
    fi
fi


set -e
        
case "$1" in
  start)
        log_daemon_msg "Starting $DESC " "$NAME"
        if start-stop-daemon --user $USER --start --quiet --pidfile $PIDFILE 
--background \
                --make-pidfile -c $DAEMONUID:$DAEMONGID --startas $DAEMON -- 
$DAEMON_OPTS; then
        log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
  stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        if start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --user 
$USER --startas $DAEMON; then
            log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
  restart|force-reload)
        log_daemon_msg "Restarting $DESC" "$NAME"
        start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE 
--user $USER --startas $DAEMON
        if start-stop-daemon --user $USER --start --quiet --pidfile $PIDFILE 
--background \
                --make-pidfile -c $DAEMONUID:$DAEMONUID --startas $DAEMON -- 
$DAEMON_OPTS; then
            log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
  status)

        status_of_proc -p $PIDFILE $DAEMON $NAME
        ;;
  reload)
        log_daemon_msg "Reloading $DESC" "$NAME"
        if start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile 
$PIDFILE --startas $DAEMON; then
            log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2
        exit 1
        ;;
esac

exit 0

Attachment: signature.asc
Description: Digital signature

Reply via email to