相关命令:暂无相关命令
[root@localhost zhangy]# timeout --help
用法:timeout [选项] 数字[后缀] 命令 [参数]...
或:timeout [选项]
运行指定命令,如果在指定时间后仍在运行则杀死该进程。
后缀"s"代表秒(默认值),"m"代表分,"h"代表小时,"d"代表天。
长选项必须使用的参数对于短选项时也是必需使用的。
-s, --signal=信号
指定在超时时发送的信号。信号可以是类似"HUP"的信号名或是信号数。
查看"kill -l"以获得信号列表
--help显示此帮助信息并退出
--version显示版本信息并退出
如果程序超时则退出状态数为124,否则返回程序退出状态。
如果没有指定信号则默认为TERM 信号。TERM 信号在进程没有捕获此信号时杀死进程。
对于另一些进程可能需要使用KILL (9)信号,当然此信号不能被捕获。
判断进程是否存在。示例:
timer=20 #20s定时器flag=1 #标识进程是否存在
while [ $timer -gt 0 ]
do
sleep 2
ps -aux | grep 进程名 | grep -v grep >/dev/null #查询进程
[ $? -ne 0 ] && flag=0 && break #进程不存在了就退出循环
let timer-=1
done
[ $flag -eq 1 ] && kill -9 $(ps -aux | awk '/ bash$/{print $1}')
执行超时那就说明环境出问题,比如网络环境不通了,脚本计算任务过多。那只能是有问题查问题了。你也可以对脚本的执行加上监控,比如使用timeout命令限制执行时间,如到达一定的时间后没执行完,然后就发消息通知你。对于超时的任务可以尝试多次等,或者改进代码。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)