自学内容网 自学内容网

linux长时间运行任务中断报警trap

每天要运行的定时任务, 时间很长, 有一天突然被中断了, 如果能有个中断提醒就好了

在这个脚本中,我们使用 

sleep 命令模拟一个长时间运行的任务,并在后台运行它。然后,通过 

wait 命令等待任务完成或被杀死,并检查 

wait 命令的退出状态码来判断脚本是否被 

kill 终止。

#!/bin/sh

# 定义一个变量来标记脚本是否被信号杀死
killed=0

# 捕获 SIGTERM 信号
#trap 'echo "Caught SIGTERM signal!"; killed=1; exit 1' SIGTERM
trap 'echo "脚本中断";curl -X POST -H "Content-Type: application/json"   -d "{\"msg_type\":\"text\",\"content\":{\"text\":\"脚本中断提醒\"}}" https://open.feishu.cn/open-apis/bot/abc;killed=1; exit 1' SIGTERM

# 模拟一些长时间运行的任务
echo "Running..."
sleep 10

# 脚本正常结束
echo "正常运行结束"

# 检查脚本是否被信号杀死
if [ $killed -eq 1 ]; then
    echo "脚本被杀死"
else
    echo "脚步退出,status $?."
fi


原文地址:https://blog.csdn.net/u010071211/article/details/143625979

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!