一种应用层进程监控方法

文档序号:6511117阅读:1250来源:国知局
一种应用层进程监控方法
【专利摘要】本发明提供了一种应用层进程监控方法,在Linux嵌入式系统中,利用init进程对应用层的关键进程进行监控,该方法中首先确定关键进程,然后init进程监控所有进程的状态;如果有关键进程退出,则执行重启操作。本发明中,利用init进程监控应用层进程,当有关键进程退出后,执行重启操作,使退出的关键进程恢复正常,避免死机。
【专利说明】一种应用层进程监控方法
【技术领域】
[0001]本发明涉及Linux嵌入式产品领域,特别涉及对Linux应用层的关键进程进行监控处理的方法。
【背景技术】
[0002]应用层是指在开放系统互连(OSI)模型中的最高层,为应用程序提供服务以保证通信,但它不是进行通信的应用程序本身。进程是一个可以迸发执行的程序,在一个数据集合上的一次运行过程,它是系统进行资源分配和调度的一个独立单位。
[0003]嵌入式产品软件,在测试过程中无法测试出所有的bug,如某些很隐蔽的应用层进程bug可能会导致设备死机,但是可能需要长时间运行才能出现一次,在开发过程中较难出现。但是一旦出现在运行过程中主要的业务进程异常退出,将会造成设备死机,用户必须对设备进行断电、再上电,设备的业务方能恢复正常,会对用户权益造成损害。
在Linux中,应用层第一个进程是init进程,目前,Linux中的init进程会监控所有应用层进程的状态,应用层任何进程的退出,init进程均会给出打印提示,但是不会采取任何实质上的动作。

【发明内容】

[0004]本发明的目的是为了实现及时处理嵌入式产品中主要的业务进程异常退出,造成设备死机的问题,避免造成用户权益损害,而提供的一种应用层进程监控方法,通过对应用层的主要的业务进程异常进行监控,当主要的业务进程中出现有异常退出时,及时重启恢复,无须用户手动断电重启,用户感觉不到死机问题的存在,提升了用户体验。
[0005]本发明的技术方案是:一种应用层进程监控方法,在Linux嵌入式系统中,利用init进程对应用层的关键进程进行监控,该方法中首先确定关键进程,然后包括以下步骤:
步骤1、init进程监控所有进程的状态;
步骤2、判断是否有应用层进程退出,如果没有,则转向步骤1,否则转向步骤3 ;
步骤3、判断关键进程是否正常运行,如果是,则转向步骤1,否则,转向步骤4 ;
步骤4、执行重启操作。
[0006]进一步的,上述的应用层进程监控方法中:步骤3中判断业务进程是否正常运行的方法为,通过查看当前运行的所有进程状态,采用正则匹配查找所关注的关键进程名是否存在;
如果能匹配到该关键进程名,说明该关键进程运行正常;否则说明运行不正常。
[0007]本发明中,利用init进程监控应用层进程,当有关键进程退出后,执行重启操作,使退出的关键进程恢复正常。
[0008]下面结合具体实施例对本发明作较为详细的描述。【专利附图】

【附图说明】
[0009]图1是本发明的整体流程图。
【具体实施方式】
[0010]实施例1,本实施例是一种应用层进程监控方法,在Linux嵌入式系统中,利用init进程对应用层的关键进程进行监控,该方法中首先确定关键进程,然后包括以下步骤:如图1所示。
[0011]步骤1、init进程监控所有进程的状态。对于Linux系统的运行来说,init程序是应用层运行的第一个程序,应用层任何进程的退出,init进程均会给出打印提示,但是不会采取任何实质上的动作。
[0012]步骤2、判断是否有应用层进程退出,如果没有,则转向步骤1,否则转向步骤3; 步骤3、判断关键进程是否退出,如果是,则转向步骤4,否则,转向步骤I ;
步骤4、执行重启操作。[0013]由于init进程是Linux应用层拉起来的第一个进程,此进程挂掉,设备必然会重启,所以在Busybox的init进程实现所有的应用层关键进程监控机制是最为可靠的。
[0014]本实施例对Linux应用层中关键进程进行监控,发现关键业务进程退出时执行自动重启操作,提升产品稳定性及用户体验。
[0015]具体步骤:
1,init进程中会监控所有进程的状态,若退出会进入特定分支
/氺 Wait for a child process to exit 氺/
wpid = wait(NULL);
while (wpid > 0) {
……/*有进程退出时会进入此部分代码*/
}
2,判断退出的进程是否为产品关注的关键进程。该步骤就是通过查看关键进程是否还在正常运行的进程中,具体如下:
判断业务进程是否正常运行的方法为,通过“ps -ax “命令查看当前运行的所有进程状态,进一步在“ps -ax “命令的输出中,通过正则匹配查找所关注的关键进程名(对于软件而言,进程名实质上为一个字符串)是否存在。
[0016]如果能匹配到该关键进程名,说明关键进程运行正常;否则说明运行不正常。
[0017]3,如果是关键进程退出了,执行重启操作,否则忽略此次监控信息。
【权利要求】
1.一种应用层进程监控方法,在Linux嵌入式系统中,利用init进程对应用层的关键进程进行监控,其特征在于:该方法中首先确定关键进程,然后包括以下步骤: 步骤1、init进程监控所有进程的状态; 步骤2、判断是否有应用层进程退出,如果没有,则转向步骤1,否则转向步骤3 ; 步骤3、判断关键进程是否正常运行,如果是,则转向步骤1,否则,转向步骤4 ; 步骤4、执行重启操作。
2.根据权利要求1所述的应用层进程监控方法,其特征在于:步骤3中判断业务进程是否正常运行的方法为,通过查看当前运行的所有进程状态,采用正则匹配查找所关注的关键进程名是否存在; 如果能匹配到该关键进程名,说明该关键进程运行正常;否则说明运行不正常。
【文档编号】G06F11/30GK103514076SQ201310412106
【公开日】2014年1月15日 申请日期:2013年9月11日 优先权日:2013年9月11日
【发明者】杨尉, 宋海波, 袁培峰 申请人:深圳市共进电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1