脚本中的命令正常结束,干掉watchdog,否则watchdog干掉超时进程。
#!/usr/bin/sh
timeout() {
waitfor=0.5
command=$*
($command) &
# $!获取最后运行的后台Process的PID
commandpid=$!
# watchdog程序后台运行,并获取watchdog进程的进程号
(sleep $waitfor;echo ">>>>>>,hi boy!";kill -9 $commandpid >/dev/null 2>&1) &
watchdogpid=$!
sleeppid=`ps --ppid $watchdogpid | awk '{ if(NR>1) print $1;}'`
wait $commandpid
kill $sleeppid >/dev/null 2>&1
}
timeout grep -20 'INFO' /export/log/wallet-info/wallet-info_detail.log 2>/dev/null
|