当前位置:  技术问答>linux和unix

关于shell定时器脚本的几个问题(附源代码)

    来源: 互联网  发布时间:2016-06-12

    本文导语:  #!/bin/bash AlarmHandler() {     echo "Get SIGALAM,cmd took too long."     KillSubProcs     exit 14 } KillSubProcs() {     kill ${CHPROCIDS:-$!}/////////////////////////////////${CHPROCIDS:-$!}什么意思?     if [ $? -eq 0 ];then echo "Sub-process...

#!/bin/bash
AlarmHandler()
{
    echo "Get SIGALAM,cmd took too long."
    KillSubProcs
    exit 14
}
KillSubProcs()
{
    kill ${CHPROCIDS:-$!}/////////////////////////////////${CHPROCIDS:-$!}什么意思?
    if [ $? -eq 0 ];then echo "Sub-processes killed.";fi
}
SetTimer()
{
    DEF_TOUT=${1:-10};//DEF_TOUT变量是系统变量吗?在settimer函数后面加一个参数,这个参数的值就保存在DEF_TOUT里吗
   if [ $DEF_TOUT -ne 0 ];then
      sleep $DEF_TOUT && kill -s 14 $$ &
      CHPROCIDS="$CHPROCIDS $!"
      TIMERPROC=$!
   fi
}
UnsetTimer()
{
     kill $TIMERPROC
}

trap AlarmHandler 14
SetTimer 5
$PROG &//////////////////////////////////PROG是不是shell的系统变量?为什么使用之前没有赋值?
CHPROCIDS="$CHPROCIDS $!"
#wait $!
sleep 8
UnsetTimer
echo "ALL Done."
exit 0

以上是我在学习上面这段代码是的疑惑,请高手出手相助,感激不尽!

|
kill ${CHPROCIDS:-$!}/////////////////////////////////${CHPROCIDS:-$!}什么意思?
CHPROCIDS:自己设置的变量
$!:前面一个进程的PID
${CHPROCIDS:-$!}:如果$CHPROCIDS无赋值,默认值为$!。

DEF_TOUT=${1:-10};//DEF_TOUT变量是系统变量吗?在settimer函数后面加一个参数,这个参数的值就保存在DEF_TOUT里吗
$1:在这里指SetTimer函数的第一个参数
${1:-10}:和前面的一样,如果$1无赋值,默认$1为10。

$PROG &//////////////////////////////////PROG是不是shell的系统变量?为什么使用之前没有赋值?
代码没贴全吧?这个应该是自定义变量,赋值为启动的进程。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问一些shell命令的源代码,比如cp 的源代码存放在什么目录中?
  • 怎么读shell的源代码呢?哪里可以找到?
  • 求unix或者linux的shell源代码
  • Linux下关于shell程序的源代码如何获取?50分求救!
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 不同类型的shell*(K SHELL , C SHELL) 用命令怎么切换?
  • linux bash shell命令:grep文本搜索工具简介
  • 我在执行shell时,想在shell里直接向mysql数据库插入数据,我该如何写shell。
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 菜鸟问问题:shell是什么呢?普通的ls、cp、pwd这些命令算不算shell呢?如何把自己写的文件变成shell呢?
  • linux bash shell命令:文本搜索工具grep中用于egrep和 grep -E的元字符扩展集
  • 傻瓜问题,请问shell编程和shell脚本编程的关系
  • linux bash shell命令:文本搜索工具Grep命令选项及实例
  • shell变量和子shell的问题请教
  • linux bash shell命令:文本搜索工具grep正则表达式元字符集(基本集)
  • 请问“当前shell”和“子shell”的区别?
  • 怎么知道当前是B_SHELL 还是C_SHELL
  • 用户登陆后运行某SHELL退出SHELL就回到LOGIN是怎么作到的?
  • 怎么写shell代码 写好shell怎么运行?
  • 请问一个shell中如何获取这个shell自身抛出的错误?
  • 非登录shell是什么 意思,和登录shell有什么区别啊
  • Solaris 8中修改root的shell为一个非法的Shell后怎么办?
  • 各位Shell高人,如何取得Shell的第10个入口参数?$10不行啊,急!
  • shell 编程 执行shell新建多个终端 并执行程序
  • 如何在一台机器上的shell中执行另外一台机器上的shell


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3