misc: sat stop would not kill all sat instances anymore

This commit is contained in:
souliane 2014-03-23 22:44:49 +01:00
commit 1002e60f6f

View file

@ -1,21 +1,25 @@
#!/bin/sh
#if there is one argument which is "stop", then we kill SàT
DEBUG=""
if [ $# -eq 1 ];then
if [ $1 = "stop" ];then
echo "Terminating Salut à Toi"
pkill -f "twistd.*/sat.tac"
exit 0
fi
if [ $1 = "debug" ];then
echo "Launching SàT in debug mode"
DEBUG="--debug"
fi
fi
NAME="sat"
FULL_NAME="Salut à Toi"
PYTHON="python2"
NAME='sat'
PYTHON='python'
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
@ -28,9 +32,9 @@ 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()
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')),''))
@ -42,6 +46,19 @@ 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="./"
@ -53,7 +70,7 @@ ADDITIONAL_OPTIONS="--pidfile $PID_FILE --logfile $LOG_FILE $AUTO_OPTIONS $DEBUG
log_dir=`dirname "$LOG_FILE"`
if [ ! -d $log_dir ] ; then
mkdir $log_dir
mkdir $log_dir
fi
twistd $MAIN_OPTIONS $TAP_PATH$TAP_FILE $ADDITIONAL_OPTIONS