Linux shell定时器
2011-12-26 16:02 Jeff 阅读(11710) 评论(1) 编辑 收藏 举报
网上找了个例子,简单实用如下.
可以有一个后台进程,在timer超时采取一些操作.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #!/bin/ksh #Delaytime=0 AlarmHandler() { echo "Get SIGALAM" KillSubProcs exit 14 } KillSubProcs() { #kill cbm echo "it's time out,kill cbm here" if [ $? - eq 0 ]; then echo "Sub-processes killed." fi } SetTimer() { Delaytime=$1 echo $Delaytime if [ $Delaytime - ne 0 ]; then sleep $Delaytime && kill -s 14 $$ & #CHPROCIDS="$CHPROCIDS $!" TIMERPROC=$! fi } UnsetTimer() { echo "Start to unset timer" kill $TIMERPROC } trap AlarmHandler 14 SetTimer 30 #CHPROCIDS="$CHPROCIDS $!" #wait $! sleep 40 UnsetTimer echo "ALL Done." exit 0 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步