#!/usr/bin/env bash
#
# ITN-HUB 종료 스크립트. start.sh가 남긴 PID 파일을 쓴다.
set -euo pipefail

PID_FILE=/home/hubAdmin/itnhub.pid

if [ ! -f "$PID_FILE" ]; then
  echo "PID 파일이 없습니다: $PID_FILE"
  exit 0
fi

PID=$(cat "$PID_FILE")

if ! kill -0 "$PID" 2>/dev/null; then
  echo "이미 종료된 프로세스입니다 (PID $PID)."
  rm -f "$PID_FILE"
  exit 0
fi

# 먼저 정상 종료를 요청하고, 20초를 기다렸다가 그래도 살아 있으면 강제 종료한다.
kill "$PID"
for _ in $(seq 1 20); do
  if ! kill -0 "$PID" 2>/dev/null; then
    rm -f "$PID_FILE"
    echo "종료 완료 (PID $PID)"
    exit 0
  fi
  sleep 1
done

echo "정상 종료되지 않아 강제 종료합니다 (PID $PID)" >&2
kill -9 "$PID"
rm -f "$PID_FILE"
