分享

进程监控

 快来看看咯 2023-07-10 发布于广西

#!/bin/bash

# 进程名,可以根据需要修改process_name="your_process_name"# 日志文件路径,可以根据需要修改

log_file="/var/log/process_monitor.log"

# 获取当前进程ID

current_pid= $$(pgrep -f $$process_name)

# 如果进程不存在,则记录日志并退出

if [ -z " $$current_pid" ]; then

    echo "进程 $$process_name 已重启,记录日志到 $$log_file" >> $$log_file

    exit 0

fi

# 获取进程的启动时间戳

start_time= $$(ps -p $$current_pid -o etime=)

# 检查进程是否在运行,如果不在运行,则记录日志并退出

if ! ps -p $$current_pid > /dev/null; then

  echo "进程 $$process_name 已重启,记录日志到 $$log_file" >> $$log_file

    exit 0

fi

# 计算进程重启的时间间隔(秒)

restart_interval= $$(( $$(date +%s) - $$(date +%s --date="@ $$start_time") ))

# 如果重启时间间隔超过设定的阈值(例如:300秒),则记录日志并退出

if [ $$restart_interval -gt 300 ]; then

    echo "进程 $$process_name 已重启,记录日志到 $$log_file" >> $$log_file

    exit 0

fi

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多