Skip to content

Instantly share code, notes, and snippets.

@nihonzaru
Created December 3, 2014 12:42
Show Gist options
  • Save nihonzaru/64ee999b5fe9fb10451f to your computer and use it in GitHub Desktop.
Save nihonzaru/64ee999b5fe9fb10451f to your computer and use it in GitHub Desktop.
Go Revel init script for CentOS 6.x
#!/bin/bash
# revel-app go/revel daemon
# chkconfig: 345 20 80
# description: revel-app daemon
# processname: revel-app
NAME="revel-app"
PIDFILE=/var/run/$NAME.pid
DAEMON_PATH="/opt/revel-app"
DAEMON="/bin/bash run.sh"
DAEMON_OPTS=""
case "$1" in
start)
printf "%-50s" "Starting $NAME..."
if [ -f $PIDFILE ]; then
echo "Already running? (pid=`cat $PIDFILE`)"
else
cd $DAEMON_PATH
PID=`$DAEMON $DAEMON_OPTS > /dev/null 2>&1 & echo $!`
echo "$PID" > $PIDFILE
echo "Ok. (pid=$PID)"
fi
;;
status)
printf "%-50s" "Checking $NAME..."
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
if [ -z "`ps axf | grep ${PID} | grep -v grep`" ]; then
printf "%s\n" "Process dead but pidfile exists."
else
echo "Running. (pid=$PID)"
fi
else
printf "%s\n" "Service not running."
fi
;;
stop)
printf "%-50s" "Stopping $NAME"
if [ -f $PIDFILE ]; then
PID=`cat $PIDFILE`
pkill -9 -P $PID
printf "%s\n" "Ok."
rm -f $PIDFILE
else
printf "%s\n" "Already stoppied? $PIDFILE not found."
fi
;;
restart)
$0 stop
sleep 5
$0 start
;;
*)
echo "Usage: $0 {status|start|stop|restart}"
exit 1
esac
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment