Skip to content

Instantly share code, notes, and snippets.

@werkshy
Created March 14, 2014 16:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save werkshy/9551008 to your computer and use it in GitHub Desktop.
Save werkshy/9551008 to your computer and use it in GitHub Desktop.
#!/bin/sh -e
#
# /etc/init.d/pickup: Start the pickup server
#
### BEGIN INIT INFO
# Provides: pickup
# Required-Start: $local_fs $syslog $remote_fs
# Required-Stop: $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start pickup server
# Description: pickup mpd frontend
### END INIT INFO
NAME=pickup
PATH_BIN=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/home/oneill/pickup/pickup
PIDFILE=/var/run/$NAME.pid
DEFAULTS=/etc/default/$NAME
DESC="pickup mpd frontend"
USER="oneill"
GROUP="oneill"
DAEMON_DIR=/home/oneill/pickup
ENV="env -i LANG=C PATH=$PATH_BIN"
. /lib/lsb/init-functions
test -x $DAEMON || exit 0
RET=0
[ -r "$DEFAULTS" ] && . "$DEFAULTS" || start_pickup_daemon=yes
check_daemon_enabled () {
if [ "$START" = "yes" ] ; then
return 0
else
log_warning_msg "Not starting $NAME daemon, disabled via /etc/default/$NAME"
return 1
fi
}
case "$1" in
start)
if check_daemon_enabled ; then
if ! [ -d /var/run/pickup ]; then
mkdir /var/run/pickup
fi
chown $USER:$GROUP /var/run/pickup
log_daemon_msg "Starting $DESC" "$NAME"
if start-stop-daemon --start --oknodo --exec $DAEMON --chuid $USER \
-d $DAEMON_DIR -v -b \
-- --mpd-address $MPD_ADDRESS --mpd-password $MPD_PASSWORD; then
log_end_msg 0
else
log_end_msg 1
RET=1
fi
fi
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
if start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30 ; then
log_end_msg 0
else
log_end_msg 1
RET=1
fi
;;
reload|force-reload)
log_daemon_msg "Reloading $NAME configuration"
if start-stop-daemon --stop --signal HUP --exec $DAEMON ; then
log_end_msg 0
else
log_end_msg 1
RET=1
fi
;;
restart-pickup)
if check_daemon_enabled ; then
log_action_begin_msg "Restarting $NAME"
if $0 stop && $0 start ; then
log_action_end_msg 0
else
log_action_cont_msg "(failed)"
RET=1
fi
fi
;;
restart)
$0 restart-pickup
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload}"
RET=1
;;
esac
exit $RET
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment