libervia-backend/src/sat.sh

76 lines
1.8 KiB
Shell
Executable file

#!/bin/sh
DEBUG=""
NAME="sat"
FULL_NAME="Salut à Toi"
PYTHON="python2"
kill_process() {
# $1 is the file containing the PID to kill, $2 is the process name
if [ -f $1 ]; then
PID=`cat $1`
if ps -p $PID > /dev/null; then
echo "Terminating $2... "
kill -INT $PID
else
echo "No running process of ID $PID... removing PID file"
rm -f $1
fi
else
echo "$2 is probably not running (PID file doesn't exist)"
fi
}
#We use python to parse config files
eval `"$PYTHON" << PYTHONEND
from sat.core.constants import Const
from ConfigParser import SafeConfigParser
from os.path import expanduser, join
import sys
config = SafeConfigParser(defaults=Const.DEFAULT_CONFIG)
try:
config.read(Const.CONFIG_FILES)
except:
print ("echo \"/!\\ Can't read main config ! Please check the syntax\";")
print ("exit 1")
sys.exit()
env=[]
env.append("PID_DIR='%s'" % join(expanduser(config.get('DEFAULT', 'pid_dir')),''))
env.append("LOG_DIR='%s'" % join(expanduser(config.get('DEFAULT', 'log_dir')),''))
print ";".join(env)
PYTHONEND
`
PID_FILE="$PID_DIR$NAME.pid"
LOG_FILE="$LOG_DIR$NAME.log"
# if there is one argument which is "stop", then we kill SàT
if [ $# -eq 1 ];then
if [ $1 = "stop" ];then
kill_process $PID_FILE "$FULL_NAME"
exit 0
fi
if [ $1 = "debug" ];then
echo "Launching $FULL_NAME in debug mode"
DEBUG="--debug"
fi
fi
DAEMON="n"
MAIN_OPTIONS="-${DAEMON}oy"
TAP_PATH="./"
TAP_FILE="$NAME.tac"
#Don't change the next line
AUTO_OPTIONS=""
ADDITIONAL_OPTIONS="--pidfile $PID_FILE --logfile $LOG_FILE $AUTO_OPTIONS $DEBUG"
log_dir=`dirname "$LOG_FILE"`
if [ ! -d $log_dir ] ; then
mkdir $log_dir
fi
twistd $MAIN_OPTIONS $TAP_PATH$TAP_FILE $ADDITIONAL_OPTIONS