Files
JiboOs/etc/init.d/S03jibo-skills-logpanel

91 lines
1.8 KiB
Bash

#!/bin/sh
### BEGIN INIT INFO
# Provides: jibo-skills-logpanel
# Required-Start: $local_fs
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: HTTP panel for live Jibo Skills logs
### END INIT INFO
PYTHON_BIN=${PYTHON_BIN:-/usr/bin/python}
DAEMON=${DAEMON:-/opt/jibo/Jibo/Skills/tools/robot/logpanel/jibo_logpanel.py}
PIDFILE=${PIDFILE:-/tmp/jibo-skills-logpanel.pid}
BIND=${JIBO_LOGPANEL_BIND:-0.0.0.0}
PORT=${JIBO_LOGPANEL_PORT:-15150}
LOGFILE=${JIBO_LOGD_FILE:-/tmp/jibo-skills.log}
start() {
echo "Starting jibo-skills-logpanel"
if [ -f "$PIDFILE" ]; then
PID=$(cat "$PIDFILE" 2>/dev/null)
if [ -n "$PID" ] && kill -0 "$PID" 2>/dev/null; then
echo "Already running (pid $PID)"
return 0
fi
fi
"$PYTHON_BIN" "$DAEMON" --bind "$BIND" --port "$PORT" --logfile "$LOGFILE" >/tmp/jibo-skills-logpanel.log 2>&1 &
echo $! > "$PIDFILE"
sleep 1
if [ -f "$PIDFILE" ]; then
echo "Started (pid $(cat "$PIDFILE" 2>/dev/null))"
return 0
fi
echo "Failed to start"
return 1
}
stop() {
echo "Stopping jibo-skills-logpanel"
if [ ! -f "$PIDFILE" ]; then
echo "Not running (no pidfile)"
return 0
fi
PID=$(cat "$PIDFILE" 2>/dev/null)
if [ -z "$PID" ]; then
rm -f "$PIDFILE"
return 0
fi
kill "$PID" 2>/dev/null
sleep 1
kill -9 "$PID" 2>/dev/null
rm -f "$PIDFILE"
echo "Stopped"
return 0
}
status() {
if [ -f "$PIDFILE" ]; then
PID=$(cat "$PIDFILE" 2>/dev/null)
if [ -n "$PID" ] && kill -0 "$PID" 2>/dev/null; then
echo "Running (pid $PID)"
return 0
fi
fi
echo "Not running"
return 3
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit $?