76 lines
2.0 KiB
Bash
Executable File
76 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Clean leftover master-board Autoware/debug processes.
|
|
#
|
|
# 用法:
|
|
# ./cleanup_master_autoware.sh
|
|
#
|
|
# 说明:
|
|
# 这个脚本用于主板调试后清理残留进程。
|
|
# 如果你在同一块板上故意运行从板底盘驱动,不要执行本脚本,
|
|
# 因为它会停止 ecar_can/socket_can 相关节点。
|
|
|
|
set -euo pipefail
|
|
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m'
|
|
|
|
log_info() { echo -e "${GREEN}[INFO]${NC} $*"; }
|
|
log_warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
|
|
|
|
PATTERNS=(
|
|
"run_ecar_master_debug.sh"
|
|
"run_preset_route_real_vehicle.sh"
|
|
"ros2 launch.*ecar_master"
|
|
"ros2 launch.*farui_launch"
|
|
"launch_ros_[0-9]+"
|
|
"launch_ros"
|
|
"component_container"
|
|
"component_container_mt"
|
|
"timoo_ros"
|
|
"pointcloud_process"
|
|
"map_hash_generator"
|
|
"imu_corrector"
|
|
"gyro_bias_validator"
|
|
"hipnuc"
|
|
"imu_sub"
|
|
"rqt_gui"
|
|
"rqt_gui_py_node"
|
|
"rviz2"
|
|
"ecar_can"
|
|
"ecar_can_receiver"
|
|
"ecar_can_sender"
|
|
"socket_can"
|
|
"socket_can_receiver"
|
|
"socket_can_sender"
|
|
)
|
|
|
|
terminate_patterns() {
|
|
local signal="$1"
|
|
local pattern
|
|
|
|
for pattern in "${PATTERNS[@]}"; do
|
|
pkill "-${signal}" -f "${pattern}" 2>/dev/null || true
|
|
done
|
|
}
|
|
|
|
log_info "Sending TERM to leftover master Autoware processes."
|
|
terminate_patterns TERM
|
|
sleep 3
|
|
|
|
if pgrep -f "component_container|component_container_mt|timoo_ros|map_hash_generator|imu_corrector|gyro_bias_validator|ecar_can|socket_can|rviz2|rqt_gui|launch_ros|ecar_can_receiver|ecar_can_sender|socket_can_receiver|socket_can_sender" >/dev/null 2>&1; then
|
|
log_warn "Some processes are still alive; sending KILL."
|
|
terminate_patterns KILL
|
|
sleep 1
|
|
fi
|
|
|
|
log_info "Restarting ROS daemon to refresh node discovery."
|
|
ros2 daemon stop >/dev/null 2>&1 || true
|
|
ros2 daemon start >/dev/null 2>&1 || true
|
|
|
|
log_info "Remaining matching processes:"
|
|
ps -ef | grep -E 'autoware|component_container|rviz2|timoo|ros2 launch|launch_ros|preset_route|ecar_can|socket_can|imu_corrector|gyro_bias|map_hash|rqt_gui' | grep -v grep || true
|
|
|
|
log_info "Remaining ROS nodes:"
|
|
ros2 node list 2>/dev/null || true
|