可以设置命令执行的超时时间的脚本

摘要:
旧博客的第三个要点:在Linux中,当执行程序时,一个要求是在一定时间内完成执行,如果执行未完成则退出。

旧博客第三弹:

在linux下,执行程序时,有一个需求就是在一定的时间内执行完成,未执行完成则退出。下面是工作中经常使用的一个perl程序,可以设置超时,通过alarm信号机制进行控制

执行命令 ./timeout.pl -c command -t timeout

eg: ./timeout.pl -c "./run.sh" -t 180

#!/usr/bin/perl -w
use strict;
use Getopt::Std;
my $result;
my % opts;
getopt('ct', /%opts);
sub ss_h(){
        eval {
                local $SIG{ALRM} = sub{die "alarm/n"};
                alarm $opts{'t'};
                #$result=`$opts{'c'}`;
                system($opts{'c'});
                $result = $?;
                alarm 0;
        };
        if ($@ and $@ =~ /alarm/) {
                kill('INT', $);
                exit (1);
        } elsif ( $result == 0 ){
                exit (0);
        }else {
                exit (1);
        }
}
&ss_h();

免责声明:文章转载自《可以设置命令执行的超时时间的脚本》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇X oracle的内存参数 shmall shmmax shmmni semOracle EBS BOM模块常用表结构下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【shell脚本】匹配文件中特定的段落

自己用shell脚本写了一个匹配文件中特定段落的小程序,现将思路和代码分享如下: 实现思路: 文件中特定的段落的开始和结束位置必须有相应的标记; 首先使用grep找到开始标记和结束标记所在行的行号; 计算结束和开始标记之间有多少行; 使用grep -A获取开始和结束标记之间的段落; 代码如下: #!/bin/bash # getlog.sh #####...

Linux上的oracle巡检脚本

修改自大神博客:http://www.cnblogs.com/jyzhao/p/5364049.html 脚本巡检的优化:自动化,节省时间。 脚本需加强:巡检结果中有大量的sqlplus连接信息,后期考虑用shell只过滤出有用信息,优化查看。 开始介绍: 1.环境sentos67、redhat6 2.可以将脚本放至/home/oracle/checkdi...

Linux下通过shell进MySQL执行SQL或导入脚本

这条命令表示通过用户名和密码执行shell然后在shell里面执行一个建表语句: USER="root" PASS="root" mysql -u $USER -p$PASS <<EOF 2> /dev/null CREATE DATABASE um; EOF 下面的命令在登陆MySQL的时候指定了database(mysql): m...

shell知识点

各个项目以实践为主。原理及更多细节介绍,请查看官方文档: 例如:bash,grub,postfix,pam,fastcgi,httpd,rsync等诸多项目。 各种总结表格 http://www.cnblogs.com/xkfz007/archive/2012/02/02/2336318.html http://blog.sina.com.cn/s/blo...

expect入门--自动化linux交互式命令

很多linux程序比如passwd,ftp,scp,ssh等自身并没有提供一种静默式的执行选项,而是依赖于运行时的终端输入来进行后一步的操作比如更改密码、文件上传、下载等。虽然有些编程语言如java嵌入了不少这些常用工具的API比如jcsh等,但是毕竟他们不够自然和顺手。虽然也可以使用ssh免登陆方式,但当机器太多且密码可能经常会更改的时候,每次大批量修改...

Linux、UNIX设置开机自动运行命令、脚本配置

一般我们不建议人工部署开机自动启动的脚本。而是建议通过crontab 部署脚本监控,理由如下: 1.自动开机部署脚本不好定位问题,有可能导致主机重启过慢。 2.自动开机部署脚本不好定位问题,有可能导致主机无法打开对应的服务。无法telnet 主机  详细描述如下:issue 2 http://www.cnblogs.com/feiyun8616/p/788...