shell脚本超时watchdog

来源:互联网 发布:库存整理软件 编辑:程序博客网 时间:2024/06/05 12:01

脚本中的命令正常结束,干掉watchdog,否则watchdog干掉超时进程。

#!/bin/sh


timeout()
{
        waitfor=5
        command=$*
        $command &
        commandpid=$!


        (sleep $waitfor;kill -9 $commandpid >/dev/null 2>&1) &
        watchdogpid=$!
        sleeppid=`ps $ppid $watchdogpid | awk '{print $1}'`


        wait $commandpid
        kill $sleeppid >/dev/null 2>&1


}


timeout sleep 7
echo "hi, boy!"


上述程序输出如下:

# ./test_watchdog.sh 
./test_watchdog.sh: line 14:  1970 Killed                  $command
hi, boy!

#


0 0
原创粉丝点击