[发明专利]一种嵌入式LINUX应用进程的监控方法有效
| 申请号: | 200610063541.4 | 申请日: | 2006-11-08 |
| 公开(公告)号: | CN101178662A | 公开(公告)日: | 2008-05-14 |
| 发明(设计)人: | 曹刚;杨新;张本全 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F9/46 | 分类号: | G06F9/46 |
| 代理公司: | 深圳市永杰专利商标事务所 | 代理人: | 曹建军 |
| 地址: | 518057广东省深圳市南山区*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 嵌入式 linux 应用 进程 监控 方法 | ||
技术领域
本发明涉及在嵌入式Linux应用管理子系统中对应用进程进行监控的方法。
背景技术
在嵌入式Linux系统中,应用管理子系统的任务之一是对系统中的应用进程进行监控,即实时地监测应用进程是否异常退出或进入死循环。其中对应用进程异常退出进行监控的常用方法是通过定时访问Linux文件系统中/proc目录下的进程信息文件,如果发现某应用进程(或其子进程)ID号对应的信息文件不存在了,就先杀死与该应用程序相关的所有进程,再根据用户配置重新启动。但是在应用进程产生的子进程中,有些子进程会和主进程在系统中一直存在,而另外一些子进程会在系统中运行一段时间正常退出。由于单靠访问Linux文件系统中/proc目录下的进程信息文件是无法区分这些子进程属于以上哪种情况,因此在对应用进程及其所有子进程都采用常规的方法进行监控时,若发现某个子进程不存在了,而这个子进程又属于正常退出的情况,则会造成管理子系统盲目地重启动应用进程,从而影响系统的正常运行。此外管理子系统中还需对应用进程是否处于死循环进行监控。常用方法是定时扫描进程状态,如果发现其CPU占用率一直很高就认为它是死循环,但该方法误判率较高。
所以在嵌入式Linux系统应用管理子系统中,迫切需要一种切实可行的方法来有效地监测应用进程是否异常退出或进入死循环,从而很好地完成监控任务。
发明内容
为克服现有技术中的缺点,本发明提出的监控方法,可以有效地监测应用进程是否异常退出或进入死循环,从而保障系统的稳定性。
本发明有两种方案,第一种方案包括以下步骤:
步骤一、在系统中建立一张记录需监控的各个应用进程组信息的表;该表包含进程组个数、各个进程组的ID号、进程组中各个进程的ID号、进程组中各个进程的对应的执行文件位置信息;所述进程组为一组功能相关的进程;
步骤二、为应用进程建立监控注册接口和监控注销接口;
步骤三、对一应用进程和其产生所有子进程进行监控时,在应用进程主程序段和产生子进程的程序段的入口处调用应用进程注册接口;输入参数输入该应用进程所在的进程组的ID号;该接口将注册请求连同本进程的ID号和输入的进程组ID号通过进程通讯机制一起发送给应用进程管理子系统,管理子系统接收到该信息后将其插入到进程组记录表中,从而开始对该应用进程进行监控;
步骤四、若管理子系统监测到进程组中任一进程发生异常,将杀死该进程组中的所有进程,然后重新启动该进程组;
步骤五、不需要再对该进程进行监控时,在应用进程主程序段和产生子进程的程序段的出口处调用应用进程注销接口;输入参数为该应用进程所在的进程组的ID号;该接口将注销请求连同本进程的ID号和输入的进程组ID号通过进程通讯机制一起发送给应用进程管理子系统,管理子系统接收到该信息后根据进程ID号和进程组ID号在进程组记录表中查找到对应的进程记录,将其删除。
上述方案中,所述记录需监控的各个应用进程组信息的表是在内存中建立。
上述方案中的所述步骤四包括:
管理子系统访问应用进程组记录表,得到需要监控的所有应用进程的ID号;
根据文件系统/proc目录下的进程信息判断这些ID号对应的应用进程是否存在,若存在,延时后返回到上一步;否则,根据应用进程组记录表将不存在的进程对应的进程组中的所有应用进程都杀死;
删除进程组记录表中该进程组的所有信息;
重新启动被杀死的进程组的主进程,延时后返回。
本发明的第二种方案包括以下步骤:
步骤一、在系统中建立一张记录需监控的各个应用进程组信息的表;该表包含进程组个数、各个进程组的ID号、进程组中各个进程的ID号、进程组中各个进程的对应的执行文件位置信息;所述进程组为一组功能相关的进程;
步骤二、为应用进程建立监控注册接口和监控注销接口;
步骤三、对一应用进程和其产生所有子进程进行监控时,在应用进程主程序段和产生子进程的程序段的入口处调用应用进程注册接口;输入参数输入该应用进程所在的进程组的ID号;该接口将注册请求连同本进程的ID号和输入的进程组ID号通过进程通讯机制一起发送给应用进程管理子系统,管理子系统接收到该信息后将其插入到进程组记录表中,从而开始对该应用进程进行监控;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610063541.4/2.html,转载请声明来源钻瓜专利网。





