#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" LOG_CODER=$(mktemp /tmp/coder_XXXXXX.log) LOG_JUDGE=$(mktemp /tmp/judge_XXXXXX.log) echo "[*] Starte beide Server parallel ..." bash "$SCRIPT_DIR/start-coder.sh" > "$LOG_CODER" 2>&1 & PID_CODER=$! bash "$SCRIPT_DIR/start-judge.sh" > "$LOG_JUDGE" 2>&1 & PID_JUDGE=$! wait_result() { local PID="$1" NAME="$2" LOG="$3" if wait "$PID"; then echo "[✓] $NAME bereit" else echo "[✗] $NAME fehlgeschlagen — Log:" cat "$LOG" return 1 fi } RC=0 wait_result "$PID_CODER" "Coder (:8001)" "$LOG_CODER" || RC=1 wait_result "$PID_JUDGE" "Judge (:8002)" "$LOG_JUDGE" || RC=1 rm -f "$LOG_CODER" "$LOG_JUDGE" exit $RC