mirror of
https://github.com/davidalves04/Trabalho-Pratico-SD.git
synced 2025-12-08 12:33:31 +00:00
61 lines
1.6 KiB
Bash
Executable File
61 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# Distributed Traffic Simulation Startup Script
|
|
|
|
# kill java
|
|
echo "-> Cleaning up existing processes..."
|
|
pkill -9 java 2>/dev/null
|
|
sleep 2
|
|
|
|
# build
|
|
echo "-> Building project..."
|
|
cd "$(dirname "$0")"
|
|
mvn package -DskipTests -q
|
|
if [ $? -ne 0 ]; then
|
|
echo "XXX Build failed! XXX"
|
|
exit 1
|
|
fi
|
|
echo "-> Build complete"
|
|
echo ""
|
|
|
|
# start gui
|
|
echo "-> Starting JavaFX Dashboard..."
|
|
mvn javafx:run &
|
|
DASHBOARD_PID=$!
|
|
sleep 3
|
|
|
|
# acho que é assim idk
|
|
echo "-> Starting 5 Intersection processes..."
|
|
for id in Cr1 Cr2 Cr3 Cr4 Cr5; do
|
|
java -cp target/classes:target/main-1.0-SNAPSHOT.jar sd.IntersectionProcess $id > /tmp/$(echo $id | tr '[:upper:]' '[:lower:]').log 2>&1 &
|
|
echo "[SUCCESS] Started $id"
|
|
done
|
|
sleep 2
|
|
|
|
# exit
|
|
echo "-> Starting Exit Node..."
|
|
java -cp target/classes:target/main-1.0-SNAPSHOT.jar sd.ExitNodeProcess > /tmp/exit.log 2>&1 &
|
|
sleep 1
|
|
|
|
# coordinator
|
|
echo "-> Starting Coordinator..."
|
|
java -cp target/classes:target/main-1.0-SNAPSHOT.jar sd.coordinator.CoordinatorProcess > /tmp/coordinator.log 2>&1 &
|
|
sleep 1
|
|
|
|
echo ""
|
|
echo "-> All processes started!"
|
|
echo ""
|
|
echo "-> System Status:"
|
|
ps aux | grep "java.*sd\." | grep -v grep | wc -l | xargs -I {} echo " {} Java processes running"
|
|
echo ""
|
|
echo " IMPORTANT: Keep the JavaFX Dashboard window OPEN for 60+ seconds"
|
|
echo " to see live updates! The simulation runs for 60 seconds."
|
|
echo ""
|
|
echo "-> Logs available at:"
|
|
echo " Dashboard: Check JavaFX window (live updates)"
|
|
echo " Intersections: /tmp/cr*.log"
|
|
echo " Exit Node: /tmp/exit.log"
|
|
echo " Coordinator: /tmp/coordinator.log"
|
|
echo ""
|
|
echo "-> To stop all processes: pkill -9 java"
|
|
echo ""
|