#! /bin/sh ### BEGIN INIT INFO # Provides: usbg # Required-Start: $local_fs # Should-Start: # Required-Stop: $local_fs # Should-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Example initscript # Description: This file should be used to construct scripts to be # placed in /etc/init.d ### END INIT INFO # PATH should only include /usr/* if it runs after the mountnfs.sh script PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Load USB gadget schemas" NAME="usbgx" DAEMON=/usr/bin/gadget-start DAEMON_ARGS="" PIDFILE=/var/run/$NAME.pid . /etc/init.d/functions || exit 1 # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 # Read configuration variable file if it is present [ -r /etc/default/$NAME ] && . /etc/default/$NAME # # Function that starts the daemon/service # do_start() { local status pid status=0 pid=`pidofproc $NAME` || status=$? case $status in 0) echo "$DESC already running ($pid)." exit 1 ;; *) echo "Starting $DESC ..." exec $DAEMON $DAEMON_ARGS >/dev/null 2>&1 || status=$? echo "ERROR: Failed to start $DESC." exit $status ;; esac } # # Function that stops the daemon/service # do_stop() { local pid status status=0 pid=`pidofproc $NAME` || status=$? case $status in 0) # Exit when fail to stop, the kill would complain when fail kill -s 15 $pid >/dev/null && rm -f $PIDFILE && \ echo "Stopped $DESC ($pid)." || exit $? ;; *) echo "$DESC is not running; none killed." >&2 ;; esac return $status } # # Function that sends a SIGHUP to the daemon/service # do_reload() { local pid status status=0 # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. pid=`pidofproc $NAME` || status=$? case $status in 0) echo "Reloading $DESC ..." kill -s 1 $pid || exit $? ;; *) echo "$DESC is not running; none reloaded." >&2 ;; esac exit $status } # # Function that shows the daemon/service status # status_of_proc () { local pid status status=0 # pidof output null when no program is running, so no "2>/dev/null". pid=`pidofproc $NAME` || status=$? case $status in 0) echo "$DESC is running ($pid)." exit 0 ;; *) echo "$DESC is not running." >&2 exit $status ;; esac } case "$1" in start) do_start ;; stop) do_stop || exit $? ;; status) status_of_proc ;; restart) # Always start the service regardless the status of do_stop do_stop do_start ;; try-restart|force-reload) do_stop && do_start ;; *) echo "Usage: $0 {start|stop|status|restart|try-restart|force-reload}" >&2 exit 3 ;; esac