File name
Commit message
Commit date
File name
Commit message
Commit date
#!/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"