[发明专利]一种linux shell脚本并行执行与超时自动退出的处理方法在审
申请号: | 201410334993.6 | 申请日: | 2014-07-15 |
公开(公告)号: | CN104090817A | 公开(公告)日: | 2014-10-08 |
发明(设计)人: | 焦芬芳 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 张靖 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux shell 脚本 并行 执行 超时 自动 退出 处理 方法 | ||
1.一种linux shell脚本并行执行与超时自动退出的处理方法,所述方法包括主程序和子程序,其特征在于:首先运行主程序,并行启动子程序,然后等待所有并行的子程序结束;其中,子程序执行命令程序并处理命令程序得到的结果,如果命令程序在规定时间内还没有完成,子程序先将未完成的命令程序杀死,再将自身杀死。
2.根据权利要求1所述的一种linux shell脚本并行执行与超时自动退出的处理方法,其特征在于,所述主程序代码为:
#!/bin/bash
nodeList=node1 node2 node3 node4 node5 node6 node7 node8 node9
date >./nodeInfo.txt
timeout=5
number=0
count=0
echo parallel start
for i in $nodeList
do
sub_proc.sh $i $timeout &
done
echo parent is waiting......
wait
echo parallel end 。
3.根据权利要求1或2所述的一种linux shell脚本并行执行与超时自动退出的处理方法,其特征在于,所述子程序代码为:
#!/bin/bash
if [ $# -lt 2 ]
then
echo please input 2 parameter!
exit
fi
timeout=`expr $2 /* 1000`
{
#result=$(cat /proc/meminfo 2>&1 | grep MemFree:)
result=$(ipmitool -I lan -H 192.168.11.10 -U admin -P admin power status 2>&1 | grep Chassis Power)
if [ -z $result ]
then
echo $$,$1,error >>./nodeInfo.txt
else
echo $$,$1,$result >>./nodeInfo.txt
fi
}&
echo usleeping...
usleep $timeout
echo wake up...
date
tmp=`pstree -p $$ 2>>/dev/null | sed -n 's/.*ipmitool(/([0-9]*/))//1/p'`
if [ $tmp != ]
then
kill -9 $tmp
echo $$,$1,timeout >>./nodeInfo.txt
fi
wait 。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410334993.6/1.html,转载请声明来源钻瓜专利网。