#!/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 $?