This commit is contained in:
David Brazda
2023-04-13 11:35:11 +02:00
parent 010efd8663
commit 246e1e8bd7
3 changed files with 107 additions and 0 deletions

89
runstop.sh Executable file
View File

@ -0,0 +1,89 @@
#!/bin/bash
# file: runstop.sh
#----
# Simple script to start / stop a python script in the background.
#----
#----
# To Use:
# Just run: "./startstop.sh". If the process is running it will stop it or it will start it if not.
#----
#----BEGIN EDITABLE VARS----
SCRIPT_TO_EXECUTE_PLUS_ARGS='v2realbot/main.py -u'
OUTPUT_PID_FILE=running.pid
OUTPUT_PID_PATH=.
PYTHON_TO_USE="python3"
# If using 'virtualenv' with python, specify the local virtualenv dir.
#VIRTUAL_ENV_DIR=""
#----END EDITABLE VARS-------
# If virtualenv specified & exists, using that version of python instead.
if [ -d "$VIRTUAL_ENV_DIR" ]; then
PYTHON_TO_USE="$VIRTUAL_ENV_DIR/bin/python"
fi
# If the .pid file doesn't exist (let's assume no processes are running)...
if [ ! -e "$OUTPUT_PID_PATH/$OUTPUT_PID_FILE" ]; then
# If the running.pid file doesn't exists, create it, start PseudoChannel.py and add the PID to it.
"$PYTHON_TO_USE" ./$SCRIPT_TO_EXECUTE_PLUS_ARGS > strat.log 2>&1 & echo $! > "$OUTPUT_PID_PATH/$OUTPUT_PID_FILE"
echo "Started $SCRIPT_TO_EXECUTE_PLUS_ARGS @ Process: $!"
sleep .7
echo "Created $OUTPUT_PID_FILE file in $OUTPUT_PID_PATH dir"
else
# If the running.pid exists, read it & try to kill the process if it exists, then delete it.
the_pid=$(<$OUTPUT_PID_PATH/$OUTPUT_PID_FILE)
rm "$OUTPUT_PID_PATH/$OUTPUT_PID_FILE"
echo "Deleted $OUTPUT_PID_FILE file in $OUTPUT_PID_PATH dir"
kill "$the_pid"
COUNTER=1
while [ -e /proc/$the_pid ]
do
echo "$SCRIPT_TO_EXECUTE_PLUS_ARGS @: $the_pid is still running"
sleep .7
COUNTER=$[$COUNTER +1]
if [ $COUNTER -eq 20 ]; then
kill -9 "$the_pid"
fi
if [ $COUNTER -eq 40 ]; then
exit 1
fi
done
echo "$SCRIPT_TO_EXECUTE_PLUS_ARGS @: $the_pid has finished"
fi
exit 0

18
strat.log Normal file
View File

@ -0,0 +1,18 @@
INFO: Started server process [55121]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:61741 - "GET / HTTP/1.1" 304 Not Modified
INFO: 127.0.0.1:61741 - "GET /stratins/?_=1681378496498 HTTP/1.1" 200 OK
INFO: 127.0.0.1:61741 - "GET /runners/?_=1681378496499 HTTP/1.1" 200 OK
INFO: 127.0.0.1:61741 - "GET /stratins/?_=1681378496500 HTTP/1.1" 200 OK
INFO: 127.0.0.1:61742 - "GET /runners/?_=1681378496501 HTTP/1.1" 200 OK
INFO: 127.0.0.1:61741 - "GET / HTTP/1.1" 304 Not Modified
INFO: 127.0.0.1:61741 - "GET /stratins/?_=1681378497526 HTTP/1.1" 200 OK
INFO: 127.0.0.1:61741 - "GET /runners/?_=1681378497527 HTTP/1.1" 200 OK
INFO: 127.0.0.1:61741 - "GET /stratins/?_=1681378497528 HTTP/1.1" 200 OK
INFO: 127.0.0.1:61742 - "GET /runners/?_=1681378497529 HTTP/1.1" 200 OK
INFO: Shutting down
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
INFO: Finished server process [55121]