#!/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"