shell timeout
写脚本的时候,经常需要用到超时控制。看《shell专家编程》时看到一个好例:修改了一下,
1.超过timeout时间还没执行完,则kill进程,发邮件告警:
set-x
mailSend()
{
mailContent="xxxx Web response time over 5 seconds"
echo $mailContent | mail -s "xxxxxx Web TimeOut"xxxxx@xxx.cion
}
timeout()
{
waitfor=3
command=$*
$command &
commandpid=$!
( sleep $waitfor ; kill -9 $commandpid >/dev/null2>&1&& mailSend )&
watchdog=$!
sleeppid=$PPID
wait $commandpid >/dev/null2>&1
kill $sleeppid >/dev/null2>&1
}
#测试的函数
test123()
{
sleep 20
}
timeout test123
2.超过timeout时间还没执行完,只发邮件告警,程序正常执行:
mailSend()
{
mailContent="xxxxe Web response time over 5 seconds,Please have a check !"
echo $mailContent | mail -s "xxxxx WEB response time over 5 senconds" $mailTo
}
timeout()
{
waitfor=6
command=$*
$command &
commandpid=$!
( sleep $waitfor ; mailSend )&
watchdog=$!
sleeppid=$PPID
wait $commandpid >/dev/null2>&1
kill -9 $watchdog >/dev/null2>&1
kill $sleeppid >/dev/null2>&1
}
shell timeout相关推荐
- Shell - timeout命令
timeout是一个命令行工具,它运行一个指定的命令,如果在给定的时间后仍在运行,则终止该命令.换句话说,timeout命令允许你运行一个有时间限制的命令.timeout命令是GNU核心实用程序包的一 ...
- linux read函数_Linux中shell输入ls命令后会系统会发生什么
大家都用过Shell执行一些Linux命令 在命令的背后,到底发生了什么呢,让我们来一起探索 Shell执行主流程 1.Printthe info of reminding 打印提示信息 2.Wait ...
- Translate Shell使用
来源 Linux中使用命令行进行谷歌翻译, How To Use Google Translate From Commandline In Linux - Just Code centos中安装 wg ...
- python 中的queue, deque
python3 deque(双向队列) 创建双向队列 import collections d = collections.deque() append(往右边添加一个元素) import colle ...
- MIPCMS V3.1.0 远程写入配置文件Getshell过程分析(附批量getshell脚本)
作者:i春秋作家--F0rmat 0×01 前言 今天翻了下CNVD,看到了一个MIPCMS的远程代码执行漏洞,然后就去官网下载了这个版本的源码研究了下.看下整体的结构,用的是thinkPHP的架构, ...
- Puppet核心资源类型浅析
作者:刁冰雪 时间:2018-02-02 一.核心类型--PACKAGE 典型案例说明 1.使用latest将软件持续安装为最新版 使用yum源安装软件时,package类型提供了两种软件安装的方式, ...
- Linux的长连接设置
Linux长连接设置 文章目录 Linux长连接设置 背景 解决方法 应用层 Bash超时设置 openssh-servers 和 openssh-clients vsftpd TCP 层 链路层 背 ...
- Hacked某安汽车车机系统
很久之前尝试对某安汽车的车机系统进行渗透测试,但是却卡在入口无法进入,尝试暴力破解但是字典不够强大,没能成功.前段时间看到了绿盟科技博客的<新型车机,如何攻防?>感觉有点熟悉,再次探索发现 ...
- linux 脚本 wait,shell脚本使用 timeout + wait 完成: 超时退出执行,等待执行完毕并处理执行结果 - yanbin's Blog...
具体需求是: 1.从文件中读取 seq, 使用 pub 程序将 seq 推送给定阅读了 cmd topic 的 peer client. client 将处理结果(message)推送到 cmdres ...
最新文章
- 从《翔谈》说起,看美团
- ECCV 2020 | 基于分割一致性的单目自监督三维重建
- java跳转语句包含goto_Java 语句标签实现goto跳转
- 架设httpd服务器
- 一分钟学会看k线图_看K线图:阴跌如钝刀
- Android内存分析工具:Memory Profiler
- LeetCode 949. 给定数字能组成的最大时间(暴力)
- 机器人--寒暄库(4)
- 微信小程序云开发视频教程上线啦
- angular ts 表格_Angular 2的表格控件
- 技术大会值得参加吗?
- 计算机在桌面被删了如何恢复,桌面文件被删除怎么恢复?电脑文件误删恢复教程...
- arm开发板开发环境搭建
- 生而神灵,弱而能言,幼而徇齐,长而敦敏,成而聪明
- 群聊比单聊,为什么复杂这么多?
- 搭建机器人电控系统——PID算法——位置式、增量式、模糊式PID
- 集线器,转发器,网桥,以太网交换机
- 最新天龙八部环境-GS环境教程-【长期稳定版本】+ 视频教程
- 《神经科学:探索脑》学习笔记(第7章 神经系统的结构)
- win2008 启用 mongodb 服务出错 1053 的解决方法
热门文章
- mysql 常用数据库连接池_常见的数据库连接池
- 楼梯计算机公式,各种楼梯面积的计算公式汇总
- android 服务自动结束,Android服务自动停止
- html5边框闪烁,HTML – CSS框阴影动画像素艺术闪烁
- java获取网络图片_有了这50套Java毕设项目(源码 案例),offer拿到手软,无偿分享...
- 复杂电网三相短路计算的matlab仿真,复杂电网三相短路计算的MATLAB仿真电力系统分析课设报告 - 图文...
- linux训练python出现killed_Linux 查看进程被杀死的详情
- powerdesigner mysql 自增主键_PowerDesigner Mysql 主键自增、初始值、字符集
- win7计算机找不到脚本文件夹,win7系统TXT文件打开提示找不到脚本文件的解决方法...
- linux添加删除回环地址,CentOS7如何添加本地回环地址?CentOS7添加本地回环地址的方法...