#!/bin/bash

PID_FILE="/var/run/pearl-miner.pid"

if [ ! -f "$PID_FILE" ]; then
    echo "pid file not found"
    exit 0
fi

PID=$(cat "$PID_FILE")

if [ -z "$PID" ]; then
    echo "empty pid file"
    rm -f "$PID_FILE"
    exit 0
fi

# 判断进程是否存在
if kill -0 "$PID" 2>/dev/null; then
    echo "stopping pearl-miner, pid=$PID"

    kill "$PID"

    # 等待进程退出，最多 10 秒
    for i in $(seq 1 10); do
        if kill -0 "$PID" 2>/dev/null; then
            sleep 1
        else
            break
        fi
    done

    # 如果还没退出，强制 kill
    if kill -0 "$PID" 2>/dev/null; then
        echo "force killing pearl-miner, pid=$PID"
        kill -9 "$PID"
    fi
else
    echo "process not running, pid=$PID"
fi

rm -f "$PID_FILE"

echo "pearl-miner stopped"
