36 lines
1.2 KiB
Bash
Executable File
36 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Stop all processes started by run_all.sh / run_ab.sh style workflow.
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
echo "[run_all_stop] stopping ROS/Gazebo workflow processes..."
|
|
|
|
# Launches / nodes
|
|
pkill -f "turtlebot3_office_gz.launch.py" 2>/dev/null || true
|
|
pkill -f "nav2_bringup navigation_launch.py" 2>/dev/null || true
|
|
pkill -f "nav2_bringup bringup_launch.py" 2>/dev/null || true
|
|
pkill -f "explore_lite explore.launch.py" 2>/dev/null || true
|
|
pkill -f "nav2_map_server map_saver_cli" 2>/dev/null || true
|
|
|
|
# Gazebo websocket and frontend
|
|
pkill -f "${ROOT}/websocket.sdf" 2>/dev/null || true
|
|
pkill -f "vite --host 0.0.0.0 --port 5173" 2>/dev/null || true
|
|
pkill -f "npm run dev:host" 2>/dev/null || true
|
|
|
|
# Gazebo processes usually started by ros_gz_sim / gz sim
|
|
pkill -f "ros_gz_sim" 2>/dev/null || true
|
|
pkill -f "gz sim" 2>/dev/null || true
|
|
|
|
# Free common ports if still occupied
|
|
for port in 5173 9002; do
|
|
pids="$(ss -ltnp 2>/dev/null | grep ":${port} " | sed -E 's/.*pid=([0-9]+).*/\1/' | sort -u)"
|
|
if [[ -n "${pids}" ]]; then
|
|
echo "[run_all_stop] killing processes on port ${port}: ${pids}"
|
|
kill ${pids} 2>/dev/null || true
|
|
fi
|
|
done
|
|
|
|
echo "[run_all_stop] done."
|