Skip to content

Instantly share code, notes, and snippets.

@scottsweb
Last active August 31, 2015 20:07
Show Gist options
  • Save scottsweb/39143a93c11af4a13ddb to your computer and use it in GitHub Desktop.
Save scottsweb/39143a93c11af4a13ddb to your computer and use it in GitHub Desktop.
init.d script for Unicorn Hat (Python script as root)
#!/bin/bash
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $local_fs $remote_fs $network
# Required-Stop: $local_fs $remote_fs $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start or stop the unicorn hat server
### END INIT INFO
USER=root
NAME=unicorn
SCRIPT="/home/scott/unicorn/server.py"
LOG='/var/log/unicorn.log'
PIDFILE=/var/run/unicorn.pid
. /lib/lsb/init-functions
case "$1" in
start)
log_daemon_msg "Starting daemon" "$NAME"
if [ ! -f "$LOG" ]; then
touch $LOG
chown $USER $LOG
fi
start-stop-daemon --start --background --quiet \
--chuid $USER \
--make-pidfile --pidfile $PIDFILE \
--startas /bin/bash -- -c "exec python $SCRIPT >> $LOG 2>&1"
log_end_msg 0
;;
stop)
log_daemon_msg "Stopping daemon" "$NAME"
pkill -f $SCRIPT
rm -f $PIDFILE
sleep 1
log_end_msg 0
;;
restart)
$0 stop
sleep 5
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment