[发明专利]shell脚本子进程管理方法及系统有效
申请号: | 201410421138.9 | 申请日: | 2014-08-25 |
公开(公告)号: | CN105446805B | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | 曾经纬;贝振东;喻之斌;须成忠 | 申请(专利权)人: | 中国科学院深圳先进技术研究院 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 深圳市科进知识产权代理事务所(普通合伙) 44316 | 代理人: | 沈祖锋;郝明琴 |
地址: | 518055 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | shell 脚本 进程 管理 方法 系统 | ||
本发明涉及一种shell脚本子进程管理方法,包括:得到欲管理的shell脚本;修改上述欲管理的shell脚本,及在该欲管理的shell脚本调用其他shell脚本时修改被调用的其他shell脚本;执行上述修改后的shell脚本,发送该shell脚本的进程号及子进程号;接收上述发送的进程号及子进程号;根据上述接收的进程号及子进程号维护子进程树状图,并进行周期性扫描。本发明还涉及一种shell脚本子进程管理系统。本发明解决了shell脚本子进程的管理和控制问题,能够对shell脚本所消耗的资源情况进行实时监控,彻底进行资源回收。
技术领域
本发明涉及一种shell脚本子进程管理方法及系统。
背景技术
根据linux操作系统的特性,当父进程执行结束之后,如果它的子进程还在运行,那么这些子进程都交给操作系统管理,也就是说这些子进程的父进程都变成了init进程。当shell脚本执行完毕之后,如果shell脚本所产生的后台进程还在执行,这时将难以分辨哪些进程由该shell脚本产生,因为这些子进程的父进程号都变成了1。例如,执行shell脚本之后,想对该shell脚本所产生的子进程进行管理,将变得比较困难。
现有的任务调度系统,可以很方便地控制电脑节点在何时何种情况下执行某个进程任务,并且能够提供任务的暂停、删除等操作。但是对于shell脚本的执行任务,即shell脚本子进程的管理存在以下问题:第一,判断任务执行结束时间不准确,因为某些shell进程执行完毕了,还有一些后台子进程在执行;第二,资源回收不彻底,进行任务删除的时候,由于有可能产生后台子进程的情况,会有些子进程不能删除。
发明内容
有鉴于此,有必要提供一种shell脚本子进程管理方法及系统。
本发明提供一种shell脚本子进程管理方法,该方法包括如下步骤:a.得到欲管理的shell脚本;b.修改上述欲管理的shell脚本,及在该欲管理的shell脚本调用其他shell脚本时修改被调用的其他shell脚本;c.执行上述修改后的shell脚本,发送该shell脚本的进程号及子进程号;d.接收上述发送的进程号及子进程号;e.根据上述接收的进程号及子进程号维护子进程树状图,并进行周期性扫描。
其中,所述步骤b中对shell脚本的修改包括:在shell脚本前端加上获取shell脚本进程号的语句;及在shell脚本末尾也加入获取shell脚本子进程号的语句。
所述的步骤b还包括:在修改shell脚本的同时,对shell脚本进行备份。
所述步骤b中在该欲管理的shell脚本调用其他shell脚本时修改被调用的其他shell脚本,具体包括:b1.判断当前shell脚本是否调用了其他shell脚本:如果当前shell脚本调用了其他shell脚本,则进入步骤b2,如果该shell脚本没有调用其他shell脚本,则流程结束;b2.修改上述被调用的shell脚本,而后返回步骤b1。
所述的步骤e包括:从所述shell脚本执行开始,根据接收的shell脚本的进程号及子进程号维护子进程树状图;周期性实时检查该进程是否有新的子进程产生,并实时更新子进程树状图。
本发明还提供一种shell脚本子进程管理系统,包括获取模块、修改模块、执行模块、接收模块及扫描模块,其中:所述获取模块用于得到欲管理的shell脚本;所述修改模块用于修改上述欲管理的shell脚本,及在该欲管理的shell脚本调用其他shell脚本时修改被调用的其他shell脚本;所述执行模块用于执行上述修改后的shell脚本,发送该shell脚本的进程号及子进程号;所述接收模块用于接收上述发送的进程号及子进程号;所述扫描模块用于根据上述接收的进程号及子进程号维护子进程树状图,并进行周期性扫描。
其中,所述的修改模块对shell脚本的修改包括:在shell脚本前端加上获取shell脚本进程号的语句;及在shell脚本末尾也加入获取shell脚本子进程号的语句。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院深圳先进技术研究院,未经中国科学院深圳先进技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410421138.9/2.html,转载请声明来源钻瓜专利网。