source: trunk/scripts/init-script @ 1184

Revision 852, 3.5 KB checked in by cdleonard@…, 4 years ago (diff)

svn:eol-style native in trunk. Also svn:executable on all scripts

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1#! /bin/sh
2### BEGIN INIT INFO
3# Provides:          infoarena
4# Required-Start:    $local_fs $remote_fs
5# Required-Stop:     $local_fs $remote_fs
6# Default-Start:     2 3 4 5
7# Default-Stop:      0 1 6
8# Short-Description: Infoarena evaluator
9# Description:       This is an init-script for infoarena's evaluator.
10#                    There are very few changes from debian's skeleton.
11### END INIT INFO
12
13IA_ROOT_DIR=--write-me-IA_ROOT_DIR--
14
15PATH=/sbin:/usr/sbin:/bin:/usr/bin
16DESC="Infoarena evaluator"
17NAME=ia-eval
18DAEMON=$IA_ROOT_DIR/eval/eval
19DAEMON_ARGS="-d -l $IA_ROOT_DIR/eval/eval.log"
20PIDFILE=$IA_ROOT_DIR/eval/eval.pid
21SCRIPTNAME=/etc/init.d/$NAME
22
23# Exit if the package is not installed
24[ -x "$DAEMON" ] || exit 0
25
26# Read configuration variable file if it is present
27[ -r /etc/default/$NAME ] && . /etc/default/$NAME
28
29# Load the VERBOSE setting and other rcS variables
30. /lib/init/vars.sh
31
32# Define LSB log_* functions.
33# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
34. /lib/lsb/init-functions
35
36#
37# Function that starts the daemon/service
38#
39do_start()
40{
41        # Return
42        #   0 if daemon has been started
43        #   1 if daemon was already running
44        #   2 if daemon could not be started
45        start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON --test > /dev/null \
46                || return 1
47        start-stop-daemon --start --quiet --pidfile $PIDFILE --startas $DAEMON -- \
48                $DAEMON_ARGS \
49                || return 2
50        # Add code here, if necessary, that waits for the process to be ready
51        # to handle requests from services started subsequently which depend
52        # on this one.  As a last resort, sleep for some time.
53}
54
55#
56# Function that stops the daemon/service
57#
58do_stop()
59{
60        # Return
61        #   0 if daemon has been stopped
62        #   1 if daemon was already stopped
63        #   2 if daemon could not be stopped
64        #   other if a failure occurred
65        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE > /dev/null
66        RETVAL="$?"
67        [ "$RETVAL" = 2 ] && return 2
68        # Many daemons don't delete their pidfiles when they exit.
69        rm -f $PIDFILE
70        return "$RETVAL"
71}
72
73#
74# Function that sends a SIGHUP to the daemon/service
75#
76do_reload() {
77        #
78        # If the daemon can reload its configuration without
79        # restarting (for example, when it is sent a SIGHUP),
80        # then implement that here.
81        #
82        start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE
83        return 0
84}
85
86case "$1" in
87  start)
88        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
89        do_start
90        case "$?" in
91                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
92                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
93        esac
94        ;;
95  stop)
96        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
97        do_stop
98        case "$?" in
99                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
100                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
101        esac
102        ;;
103  #reload|force-reload)
104        #
105        # If do_reload() is not implemented then leave this commented out
106        # and leave 'force-reload' as an alias for 'restart'.
107        #
108        #log_daemon_msg "Reloading $DESC" "$NAME"
109        #do_reload
110        #log_end_msg $?
111        #;;
112  restart|force-reload)
113        #
114        # If the "reload" option is implemented then remove the
115        # 'force-reload' alias
116        #
117        log_daemon_msg "Restarting $DESC" "$NAME"
118        do_stop
119        case "$?" in
120          0|1)
121                do_start
122                case "$?" in
123                        0) log_end_msg 0 ;;
124                        1) log_end_msg 1 ;; # Old process is still running
125                        *) log_end_msg 1 ;; # Failed to start
126                esac
127                ;;
128          *)
129                # Failed to stop
130                log_end_msg 1
131                ;;
132        esac
133        ;;
134  *)
135        #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
136        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
137        exit 3
138        ;;
139esac
140
141:
Note: See TracBrowser for help on using the repository browser.