From 4cd3c77a3e9e94c61308744ac53b7babec816e4b Mon Sep 17 00:00:00 2001 From: Zach Wener Date: Sat, 10 Feb 2024 15:25:41 -0800 Subject: [PATCH 1/2] Make it easier to stop services --- OS/01/start.sh | 43 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 4 deletions(-) diff --git a/OS/01/start.sh b/OS/01/start.sh index 694c560..1006247 100755 --- a/OS/01/start.sh +++ b/OS/01/start.sh @@ -31,18 +31,53 @@ fi ### START +start_device() { + echo "Starting device..." + python device.py & + DEVICE_PID=$! + echo "Device started as process $DEVICE_PID" +} + +# Function to start server +start_server() { + echo "Starting server..." + python server.py & + SERVER_PID=$! + echo "Server started as process $SERVER_PID" +} + # DEVICE +# SERVER + +stop_processes() { + if [[ -n $DEVICE_PID ]]; then + echo "Stopping device..." + kill $DEVICE_PID + fi + if [[ -n $SERVER_PID ]]; then + echo "Stopping server..." + kill $SERVER_PID + fi +} + +# Trap SIGINT and SIGTERM to stop processes when the script is terminated +trap stop_processes SIGINT SIGTERM + +# Start device if DEVICE_START is True if [[ "$DEVICE_START" == "True" ]]; then - python device.py & + start_device fi -# SERVER - +# Start server if SERVER_START is True if [[ "$SERVER_START" == "True" ]]; then - python server.py & + start_server fi +# Wait for device and server processes to exit +wait $DEVICE_PID +wait $SERVER_PID + # TTS, STT # (todo) From 2b48e2f4a357d7d0243a0be81fd7dbf17c032ae7 Mon Sep 17 00:00:00 2001 From: Zach Wener Date: Sat, 10 Feb 2024 15:27:34 -0800 Subject: [PATCH 2/2] cleanup --- OS/01/start.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/OS/01/start.sh b/OS/01/start.sh index 1006247..2940140 100755 --- a/OS/01/start.sh +++ b/OS/01/start.sh @@ -46,10 +46,6 @@ start_server() { echo "Server started as process $SERVER_PID" } -# DEVICE - -# SERVER - stop_processes() { if [[ -n $DEVICE_PID ]]; then echo "Stopping device..." @@ -64,11 +60,13 @@ stop_processes() { # Trap SIGINT and SIGTERM to stop processes when the script is terminated trap stop_processes SIGINT SIGTERM +# DEVICE # Start device if DEVICE_START is True if [[ "$DEVICE_START" == "True" ]]; then start_device fi +# SERVER # Start server if SERVER_START is True if [[ "$SERVER_START" == "True" ]]; then start_server