#!/bin/bash sudo systemctl disable gpsd sudo systemctl stop gpsd.socket sudo systemctl disable gpsd.socket sudo chmod 777 /dev/imu sudo chmod 777 /dev/ttyUSB0 echo "================================================" echo "RobotNet10 Cleanup & Run Script" echo "================================================" # Kill old processes echo "" echo "1. Checking for running RobotNet processes..." OLD_PIDS=$(ps aux | grep -i "RobotNet10.RobotApp" | grep -v grep | awk '{print $2}') if [ -z "$OLD_PIDS" ]; then echo " ✓ No old processes found" else echo " Found processes: $OLD_PIDS" echo " Killing old processes..." for PID in $OLD_PIDS; do kill $PID 2>/dev/null echo " - Killed PID $PID" done # Wait a bit sleep 1 # Force kill if still running REMAINING=$(ps aux | grep -i "RobotNet10.RobotApp" | grep -v grep | awk '{print $2}') if [ ! -z "$REMAINING" ]; then echo " Force killing remaining processes..." for PID in $REMAINING; do kill -9 $PID 2>/dev/null echo " - Force killed PID $PID" done fi echo " ✓ All old processes killed" fi # Check serial port echo "" echo "2. Checking serial port /dev/ttyUSB0..." PORT_USER=$(lsof /dev/ttyUSB0 2>/dev/null | tail -n +2) if [ -z "$PORT_USER" ]; then echo " ✓ Port is free" else echo " ✗ Port still in use:" lsof /dev/ttyUSB0 echo " Waiting for port to be released..." sleep 2 fi # Verify clean state echo "" echo "3. Final verification..." FINAL_CHECK=$(ps aux | grep -i "RobotNet10.RobotApp" | grep -v grep) if [ -z "$FINAL_CHECK" ]; then echo " ✓ No processes running" else echo " ✗ Warning: Some processes still running!" echo "$FINAL_CHECK" fi # Run application echo "" echo "================================================" echo "Starting RobotNet10.RobotApp..." echo "================================================" echo "" # cd /usr/RobotNet10 cd ~/.Hiep/RobotNet10/srcs/RobotNet10/RobotApp/RobotNet10.RobotApp dotnet run > ./logs/log1.txt