#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" BASE="${BASE:-$(cd "$SCRIPT_DIR/.." && pwd)}" LOGDIR="${LOGDIR:-$BASE/logs}" mkdir -p "$LOGDIR" LOG_PATH="$LOGDIR/sync-then-build-detached-$(date +%Y%m%d_%H%M%S).log" PIDFILE="$LOGDIR/sync-then-build.pid" if [ -f "$PIDFILE" ]; then old_pid="$(cat "$PIDFILE" 2>/dev/null || true)" if [ -n "$old_pid" ] && kill -0 "$old_pid" 2>/dev/null; then echo "A sync/build job is already running: pid=$old_pid" exit 0 fi fi LOG_PATH="$LOG_PATH" nohup "$SCRIPT_DIR/sync_then_build_bpi_m2c_rls25c.sh" >/dev/null 2>&1 & pid=$! echo "$pid" > "$PIDFILE" echo "Started detached BPI-M2C sync-then-build job." echo "pid=$pid" echo "log=$LOG_PATH"