【技术实现步骤摘要】
本专利技术涉及linux的脚本运行控制,尤其涉及一种在linux和unix平台上限制shell脚本并行执行的方法。
技术介绍
目前随着linux的广泛使用,shell脚本也得到了大量的运用,但是在实际应用的过程中,往往要求出现这种需求,同一个脚本同一时刻只允许一个shell脚本运行,也就是说同一个时刻不允许两个以上相同的脚本都在运行。目前广泛采用的“限制shell脚本同时允许的”技术有两种,但都存在一定的不足第一种用ps一类命令找出已经运行脚本的数量,如果大于等于2,就退出当前脚本,等于1,则运行。这种技术的缺点是首先,ps取得脚本文件进程数量就有很多陷阱,例如有时无法ps到脚本文件的名称,即使可以ps到脚本名,如果用到管道的话,由于子shell的原因,在大多数平台下会得到奇怪的结果,有时得到数字a,有时又得到数字b,让人无所适从。就算计数的问题已经解决了,还有问题如果两个脚本实例同时计数,显然数字都应该等于2,于是两个都退出了。于是在这一时间点上没有一个脚本在执行。第二种加锁的方法。就是脚本在执行开始先试图得到一个“锁”,得到则继续执行,反之就退出,这种方法 ...
【技术保护点】
一种限制shell脚本并行执行的方法,应用于linux和unix平台,包括如下步骤: (1)当有shell脚本需要执行时,脚本模块处理器向管道写入请求; (2)令牌模块处理器在管道另一端顺序读取所述请求,当有令牌空闲时,将令牌按请求的先后顺序发给先请求的shell脚本进程,直到没有令牌可用;得到令牌的进程允许运行;没有得到令牌的进程则退出,不会执行。
【技术特征摘要】
【专利技术属性】
技术研发人员:谢斌,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。