39 lines
1.0 KiB
Bash
39 lines
1.0 KiB
Bash
#!/bin/bash
|
|
|
|
echo "Stopping Sereact API server..."
|
|
|
|
# Find and kill uvicorn processes
|
|
PIDS=$(ps aux | grep "uvicorn main:app" | grep -v grep | awk '{print $2}')
|
|
|
|
if [ -z "$PIDS" ]; then
|
|
echo "No running server found."
|
|
else
|
|
echo "Found server process(es): $PIDS"
|
|
for PID in $PIDS; do
|
|
echo "Killing process $PID..."
|
|
kill $PID
|
|
sleep 1
|
|
# Force kill if still running
|
|
if kill -0 $PID 2>/dev/null; then
|
|
echo "Force killing process $PID..."
|
|
kill -9 $PID
|
|
fi
|
|
done
|
|
echo "Server stopped."
|
|
fi
|
|
|
|
# Also check for any Python processes running main.py
|
|
PYTHON_PIDS=$(ps aux | grep "python.*main.py\|python.*main:app" | grep -v grep | awk '{print $2}')
|
|
if [ ! -z "$PYTHON_PIDS" ]; then
|
|
echo "Found Python processes: $PYTHON_PIDS"
|
|
for PID in $PYTHON_PIDS; do
|
|
echo "Killing Python process $PID..."
|
|
kill $PID
|
|
sleep 1
|
|
if kill -0 $PID 2>/dev/null; then
|
|
kill -9 $PID
|
|
fi
|
|
done
|
|
fi
|
|
|
|
echo "All server processes stopped." |