#!/bin/bash

# 设置阈值（百分比，不带%号）
THRESHOLD=10

# 启动 ptpd2 的命令（请根据实际路径修改）
# ART_CMD="/usr/sbin/ptpd2"

# 检查周期（秒）
INTERVAL=10

while true; do
    # 获取 ptpd2 的 PID
    PID=$(ps | grep ptpd2 | grep -v "grep" | awk '{print $1}')

    if [ -n "$PID" ]; then
        # 获取 ptpd2 的实时 CPU 使用率（百分比）
        CPU=$(top -b -n1 | grep ptpd2 |grep -v "grep" | awk '{print $8}')
        CPU_INT=${CPU%.*}  # 去掉小数部分用于比较

        if [[ "$CPU_INT" =~ ^[0-9]+$ ]] && (( CPU_INT > THRESHOLD )); then
            echo "[`date`] ptpd2 CPU 使用率 ${CPU}% 超过阈值 ${THRESHOLD}%，正在重启..."

            kill -9 ${PID}
            # sleep 1
            # $START_CMD &
            echo "[`date`] ptpd2 已重启"
        fi
    # else
    #     echo "[`date`] ptpd2 未运行，尝试启动..."
    #     $START_CMD &
    #     echo "[`date`] ptpd2 启动完成"
    fi

    sleep $INTERVAL
done