annotate dungeons @ 0:1eef88068f9f tip

initial commit of maze game source
author ferencd
date Sun, 15 Sep 2019 11:46:47 +0200
parents
children
rev   line source
ferencd@0 1 #! /bin/sh
ferencd@0 2 ### BEGIN INIT INFO
ferencd@0 3 # Provides: Dungeons server
ferencd@0 4 # Required-Start: $network $local_fs $remote_fs
ferencd@0 5 # Required-Stop: $network $local_fs $remote_fs
ferencd@0 6 # Default-Start: 2 3 4 5
ferencd@0 7 # Default-Stop: 0 1 6
ferencd@0 8 # Short-Description: Dungeons web servers' daemon
ferencd@0 9 ### END INIT INFO
ferencd@0 10
ferencd@0 11 # Author: Dungeon Master<dungeons.sh@gmail.com>
ferencd@0 12
ferencd@0 13 #
ferencd@0 14 # LINK ME TO etc/init.d AND RUN update-rc.d wendy-web defaults
ferencd@0 15 #
ferencd@0 16
ferencd@0 17
ferencd@0 18 # Do NOT "set -e"
ferencd@0 19
ferencd@0 20 # PATH should only include /usr/* if it runs after the mountnfs.sh script
ferencd@0 21 PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin
ferencd@0 22 DESC="Dungeons server"
ferencd@0 23 NAME=dungeons
ferencd@0 24 DAEMON=/usr/bin/ruby
ferencd@0 25 DAEMON_ARGS="-I /home/ferencd/mazy/ /home/ferencd/mazy/server.rb"
ferencd@0 26 PIDFILE=/var/run/$NAME.pid
ferencd@0 27 SCRIPTNAME=/etc/init.d/$NAME
ferencd@0 28
ferencd@0 29 # Exit if the package is not installed
ferencd@0 30 [ -x "$DAEMON" ] || exit 0
ferencd@0 31
ferencd@0 32 # Read configuration variable file if it is present
ferencd@0 33 [ -r /etc/default/$NAME ] && . /etc/default/$NAME
ferencd@0 34
ferencd@0 35 # Load the VERBOSE setting and other rcS variables
ferencd@0 36 . /lib/init/vars.sh
ferencd@0 37
ferencd@0 38 # Define LSB log_* functions.
ferencd@0 39 # Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
ferencd@0 40 . /lib/lsb/init-functions
ferencd@0 41
ferencd@0 42 #
ferencd@0 43 # Function that starts the daemon/service
ferencd@0 44 #
ferencd@0 45 do_start()
ferencd@0 46 {
ferencd@0 47 # Return
ferencd@0 48 # 0 if daemon has been started
ferencd@0 49 # 1 if daemon was already running
ferencd@0 50 # 2 if daemon could not be started
ferencd@0 51 start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
ferencd@0 52 || return 1
ferencd@0 53 start-stop-daemon --start --pidfile $PIDFILE --exec $DAEMON -- \
ferencd@0 54 $DAEMON_ARGS \
ferencd@0 55 || return 2
ferencd@0 56 # Add code here, if necessary, that waits for the process to be ready
ferencd@0 57 # to handle requests from services started subsequently which depend
ferencd@0 58 # on this one. As a last resort, sleep for some time.
ferencd@0 59 }
ferencd@0 60
ferencd@0 61 #
ferencd@0 62 # Function that stops the daemon/service
ferencd@0 63 #
ferencd@0 64 do_stop()
ferencd@0 65 {
ferencd@0 66 # Return
ferencd@0 67 # 0 if daemon has been stopped
ferencd@0 68 # 1 if daemon was already stopped
ferencd@0 69 # 2 if daemon could not be stopped
ferencd@0 70 # other if a failure occurred
ferencd@0 71 start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
ferencd@0 72 RETVAL="$?"
ferencd@0 73 [ "$RETVAL" = 2 ] && return 2
ferencd@0 74 # Wait for children to finish too if this is a daemon that forks
ferencd@0 75 # and if the daemon is only ever run from this initscript.
ferencd@0 76 # If the above conditions are not satisfied then add some other code
ferencd@0 77 # that waits for the process to drop all resources that could be
ferencd@0 78 # needed by services started subsequently. A last resort is to
ferencd@0 79 # sleep for some time.
ferencd@0 80 start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
ferencd@0 81 [ "$?" = 2 ] && return 2
ferencd@0 82 # Many daemons don't delete their pidfiles when they exit.
ferencd@0 83 rm -f $PIDFILE
ferencd@0 84 return "$RETVAL"
ferencd@0 85 }
ferencd@0 86
ferencd@0 87 #
ferencd@0 88 # Function that sends a SIGHUP to the daemon/service
ferencd@0 89 #
ferencd@0 90 do_reload() {
ferencd@0 91 #
ferencd@0 92 # If the daemon can reload its configuration without
ferencd@0 93 # restarting (for example, when it is sent a SIGHUP),
ferencd@0 94 # then implement that here.
ferencd@0 95 #
ferencd@0 96 start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
ferencd@0 97 return 0
ferencd@0 98 }
ferencd@0 99
ferencd@0 100 case "$1" in
ferencd@0 101 start)
ferencd@0 102 [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
ferencd@0 103 do_start
ferencd@0 104 case "$?" in
ferencd@0 105 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
ferencd@0 106 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
ferencd@0 107 esac
ferencd@0 108 ;;
ferencd@0 109 stop)
ferencd@0 110 [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
ferencd@0 111 do_stop
ferencd@0 112 case "$?" in
ferencd@0 113 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
ferencd@0 114 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
ferencd@0 115 esac
ferencd@0 116 ;;
ferencd@0 117 #reload|force-reload)
ferencd@0 118 #
ferencd@0 119 # If do_reload() is not implemented then leave this commented out
ferencd@0 120 # and leave 'force-reload' as an alias for 'restart'.
ferencd@0 121 #
ferencd@0 122 #log_daemon_msg "Reloading $DESC" "$NAME"
ferencd@0 123 #do_reload
ferencd@0 124 #log_end_msg $?
ferencd@0 125 #;;
ferencd@0 126 restart|force-reload)
ferencd@0 127 #
ferencd@0 128 # If the "reload" option is implemented then remove the
ferencd@0 129 # 'force-reload' alias
ferencd@0 130 #
ferencd@0 131 log_daemon_msg "Restarting $DESC" "$NAME"
ferencd@0 132 do_stop
ferencd@0 133 case "$?" in
ferencd@0 134 0|1)
ferencd@0 135 do_start
ferencd@0 136 case "$?" in
ferencd@0 137 0) log_end_msg 0 ;;
ferencd@0 138 1) log_end_msg 1 ;; # Old process is still running
ferencd@0 139 *) log_end_msg 1 ;; # Failed to start
ferencd@0 140 esac
ferencd@0 141 ;;
ferencd@0 142 *)
ferencd@0 143 # Failed to stop
ferencd@0 144 log_end_msg 1
ferencd@0 145 ;;
ferencd@0 146 esac
ferencd@0 147 ;;
ferencd@0 148 *)
ferencd@0 149 #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
ferencd@0 150 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
ferencd@0 151 exit 3
ferencd@0 152 ;;
ferencd@0 153 esac
ferencd@0 154
ferencd@0 155 :
ferencd@0 156