Chinaunix

标题: 执行列表中文件,并设置超时 [打印本页]

作者: deepalley    时间: 2010-03-31 14:15
标题: 执行列表中文件,并设置超时
有一个脚本文件列表xx.txt
  1. /opt/abc/1.sh
  2. /opt/abc/2.sh
  3. /opt/bcd/3.sh
复制代码
我想写个脚本读取xx.txt并执行其中的脚本,并且对每个脚本设置超时时间(5秒)
  1. while read line
  2. do
  3.         echo "$line &" | sh
  4.         pid=$!
  5.         echo $pid
  6.         sleep 5
  7.         kill -9 $pid >/dev/null 2>&1
  8. done < xx.txt
复制代码
问题:这个脚本执行有问题,xx.txt 中的每行可以执行,但是抓不到pid的值,超时的时候杀不掉,请各位大侠帮忙
作者: Shell_HAT    时间: 2010-03-31 14:15
echo "$line &" | sh
改成
sh $line &
行吗?
作者: deepalley    时间: 2010-03-31 14:21
回复 2# Shell_HAT


    呵呵,这个可以,就是没试这个...
作者: where27    时间: 2010-03-31 20:55
回复 1# deepalley
  1.    
  2. while read line
  3. do
  4.     sh $line & { sleep 5; eval 'kill -9 $!' &> /dev/null; }
  5. done < xx.txt
复制代码
试试这个
作者: e3002    时间: 2010-04-01 10:53
lz你最终用的那个脚本搞定的,贴出来贡献一下啊




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2