一种异常进程的处理方法及装置与流程

文档序号:13661052阅读:316来源:国知局
一种异常进程的处理方法及装置与流程

本发明涉及计算机技术,尤指一种异常进程的处理方法及装置。



背景技术:

目前,当进程出现异常时,会给出进程异常的提示,但是,进程异常的原因需要用户手动检查,再根据检查出的原因进行相应处理,以恢复进程的正常运行。用户手动检查不仅对用户的专业技术要求比较高,还需要花费用户大量的精力和时间,效率比较低。



技术实现要素:

为了解决上述技术问题,本发明提供了一种异常进程的处理方法及装置,能够自动对异常进程进行处理,提高处理效率。

为了达到本发明目的,本发明提供了一种异常进程的处理方法,包括:

确定出异常进程的日志文件包括预先设置的关键词;

按照预先设置的与该关键词对应的处理方案处理该异常进程。

进一步地,所述确定出异常进程的日志文件包括预先设置的关键词之前,还包括:

按照预先设置的命令获取预先设置的进程的进程号;

若获取不到该预先设置的进程的进程号,则判断出该预先设置的进程是所述异常进程。

进一步地,所述确定出异常进程的日志文件包括预先设置的关键词之前,还包括:

使用所述异常进程的重启文件重启所述异常进程,以在所述异常进程重启失败时执行所述确定的步骤。

进一步地,所述确定出异常进程的日志文件包括预先设置的关键词,包括:

在所述异常进程的日志文件中提取关键词,每当提取出关键词时,判断该提取的关键词是否为所述预先设置的关键词,若该提取出的关键词不是所述预先设置的关键词,则从最近一次在所述异常进程的日志文件中提取关键词的位置重复执行所述提取的步骤,直到提取出的关键词为所述预先设置的关键词时为止。

进一步地,所述处理该异常进程之后,如果所述异常进程未恢复正常运行,还包括:

从最近一次在所述异常进程的日志文件中提取关键词的位置重复执行所述提取的步骤和所述处理的步骤,直到所述异常进程恢复正常运行时为止。

本发明提供一种异常进程的处理装置,包括:

确定模块,用于确定出异常进程的日志文件包括预先设置的关键词;

处理模块,用于按照预先设置的与该关键词对应的处理方案处理该异常进程。

进一步地,还包括:

获取模块,用于按照预先设置的命令获取预先设置的进程的进程号;

判断模块,用于若获取模块获取不到该预先设置的进程的进程号,则判断出该预先设置的进程是所述异常进程。

进一步地,还包括:

重启模块,用于使用所述异常进程的重启文件重启所述异常进程;

所述确定模块具体用于,在所述异常进程重启失败时执行所述确定的步骤。

进一步地,所述确定模块包括:

提取单元,用于在所述异常进程的日志文件中提取关键词,每当提取出关键词时,判断该提取的关键词是否为所述预先设置的关键词,若该提取出的关键词不是所述预先设置的关键词,则从最近一次在所述异常进程的日志文件中提取关键词的位置重复执行所述提取的步骤,直到提取出的关键词为所述预先设置的关键词时为止。

进一步地,如果所述异常进程未恢复正常运行,所述提取单元还用于从最近一次在所述异常进程的日志文件中提取关键词的位置重复执行所述提取的步骤,所述处理模块还用于重复执行所述处理的步骤,直到所述异常进程恢复正常运行时为止。

本发明实施例至少包括:确定出异常进程的日志文件包括预先设置的关键词;按照预先设置的与该关键词对应的处理方案处理该异常进程。从本发明实施例可见,根据异常进程的日志文件中的关键词对异常进程自动进行处理,避免了用户手动处理异常进程,不仅降低了对用户专业水平的要求,还减少了用户在异常进程上花费的精力和时间,提高了异常进程的处理效率。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的一种异常进程的处理方法的流程示意图;

图2为本发明实施例提供的另一种异常进程的处理方法的流程示意图;

图3为本发明实施例提供的一种异常进程的处理装置的结构示意图;

图4为本发明实施例提供的另一种异常进程的处理装置的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例提供一种异常进程的处理方法,如图1所示,该处理方法包括:

步骤101、确定出异常进程的日志文件包括预先设置的关键词。

具体地,在预先设置的第一目录下查找异常进程的日志文件。异常进程的日志文件中记录了异常进程运行时的关键词,异常进程出现异常的原因不同,在日志文件中记录的该异常进程的关键词也不相同。其中,预先设置的关键词包括但不限于以下之一或多种的组合:“error”、“errorlog”、“configerror”。

步骤102、按照预先设置的与该关键词对应的处理方案处理该异常进程。

其中,预先设置不同的关键词对应不同的处理方案,当异常进程的日志文件中包括预先设置的关键词时,使用与该关键词对应的处理方案处理该异常进程,从而实现了自动处理异常进程。例如,预先设置的关键词为“configerror”时,该关键词对应的处理方案是重新配置异常进程。步骤102的实现可以采用相关技术中的方式实现,具体实现并不用于限定本发明的保护范围,这里不再赘述。

进一步地,在图1对应实施例的基础上,步骤101之前,还包括:

按照预先设置的命令获取预先设置的进程的进程号;若获取不到该预先设置的进程的进程号,则判断出该预先设置的进程是异常进程。

如果获取到进程的进程号,说明该进程在正常运行,结束本次对该进程的监控,以对该进程的下一次监控;如果获取不到进程的进程号,说明该进程异常。进程号即为进程id(processid、pid),是操作系统的内核用于唯一标识进程的一个数值,简言之,就是进程的绰号,这一数值可以作为许多函数调用的参数,以使调整进程优先级、kill(一种命令)进程之类的进程控制行为成为可能。

例如,预先设置的进程为jetty进程,预先设置的命令为:[root@incloudos~]#ps–ef|grepjava|grep“/usr/local/shinken/imonitordp/jetty”|awk‘{print$2}’3101。[root@incloudos~]#ps–ef表示遍历操作系统的所有进程,grep“/usr/local/shinken/imonitordp/jetty”表示在遍历到的所有进程中查找/usr/local/shinken/imonitordp/该目录下的jetty进程,awk‘{print$2}’表示提取出jetty进程的进程号。

进一步地,在图1对应实施例的基础上,步骤101之前,还包括:

使用异常进程的重启文件重启异常进程,以在异常进程重启失败时执行确定的步骤。

具体地,在预先设置的第二目录下查找异常进程的重启文件,通过运行该重启文件来重启异常进程。例如,异常进程为jetty进程,jetty进程的重启文件所在的第二目录为/jetty/bin/,在该第二目录下查找出jetty进程的重启文件jetty.shrestart,使用该重启文件重启异常进行,如果重启成功,说明该异常文件恢复了正常运行,如果重启失败,说明无法通过重启的方式解决该异常进程,进而根据异常进程的日志文件中的关键词来处理该异常进程。jetty是一个开源的servlet(serverapplet)容器,jetty是使用java语言编写的,它的应用程序编程接口(applicationprogramminginterface,api)以一组压缩包的形式发布。开发人员可以将jetty实例化成一个对象,可以迅速为一些独立运行的java应用提供网络和万维网(web)连接。

进一步地,在图1对应实施例的基础上,步骤101包括:

在异常进程的日志文件中提取关键词,每当提取出关键词时,判断该提取的关键词是否为预先设置的关键词,若该提取出的关键词不是预先设置的关键词,则从最近一次在异常进程的日志文件中提取关键词的位置重复执行提取的步骤,直到提取出的关键词为预先设置的关键词时为止。

具体地,从最近一次在异常进程的日志文件中记录信息的位置处开始提取关键词,使得提取出的关键词能够反映出异常进程的最新的运行情况。每当提取出一个或多个关键词时,判断该提取出的关键词是否为预先设置的关键词,如果不是预先设置的关键词,继续在异常进程的日志文件中提取关键词,直到提取出的关键词为预先设置的关键词时为止,如果提到出的关键词为预先设置的关键词,也就是说异常进程的日志文件中包括预先设置的关键词,按照与该预先设置的关键词对应的预先设置的处理方案处理该异常进程,处理完之后,重启该异常进程。

进一步地,在图1对应实施例的基础上,步骤102之后,如果异常进程未恢复正常运行,还包括:

从最近一次在异常进程的日志文件中提取关键词的位置重复执行提取的步骤和处理的步骤,直到异常进程恢复正常运行时为止。

在按照预先设置的与该关键词对应的处理方案处理异常进程之后,如果异常进程恢复正常运行,说明自动处理好该异常进程,如果异常进程未恢复正常运行,说明该处理方案对异常进程无效,需要使用其它的处理方案继续处理该异常进程。具体地,从最近一次在日志文件中提取关键词的位置,重新在该日志文件中提取关键词,若该重新提取的关键词为预先设置的关键词,则按照与该关键词对应的预先设置的处理方案处理该异常进程。

例如,第一次在异常进程的日志文件中的第一行提取到预先设置的关键词为“error”关键词,按照预先设置的与该“error”关键词对应的处理方案处理该异常进程,在处理完之后,重启异常进程,该异常进程并未恢复正常运行,则从最近一次在异常进程的日志文件中提取关键词的位置(即异常进程的日志文件的第一行)继续提取关键词。如果在异常进程的日志文件的第四行提取到预先设置的关键词为“configerror”关键词,按照预先设置的与该“configerror”关键词对应的处理方案处理该异常进程。

根据本发明实施例的异常进程的处理方法,确定出异常进程的日志文件包括预先设置的关键词;按照预先设置的与该关键词对应的处理方案处理该异常进程。从本发明实施例可见,根据异常进程的日志文件中的关键词对异常进程自动进行处理,避免了用户手动处理异常进程,不仅降低了对用户专业水平的要求,还减少了用户在异常进程上花费的精力和时间,提高了异常进程的处理效率。

本发明实施例提供另一种异常进程的处理方法,如图2所示,该处理方法包括:

步骤201、监控预先设置的进程是否异常。

具体地,按照预先设置的命令获取预先设置的进程的进程号;若获取不到该预先设置的进程的进程号,则该预先设置的进程是异常进程。需要说明的是,可以实时监控预先设置的进程是否异常,还可以周期性地监控预先设置的进程是否异常。

步骤202、在监控到预先设置的进程异常时,在预先设置的第一目录下查找该异常进程的日志文件。

步骤203、从异常进程的日志文件中提取关键词。

步骤204、若提取的关键词是预先设置的关键词,则暂停从查找的日志文件中提取关键词。

步骤205、按照与该预先设置的关键词对应的预先设置的处理方案处理该异常进程。

步骤206、判断该异常进程是否恢复正常,在判断出异常进程恢复正常时,结束对进程的本次监控,进入到进程的下一次监控,也就是重新进入步骤201;在判断出异常进程未恢复正常时,也就是说异常进程依然异常,进入到步骤203,以重复执行步骤203、步骤204、步骤205、步骤206。其中,在重复执行步骤203时,从最近一次在异常进程的日志文件中提取关键词的位置,开始在异常进程的日志文件中提取关键词。在步骤205中,每一次对异常进程处理所采用的处理方案都不相同,也就是说每一次的处理方案对应的关键词都不相同。

本发明实施例提供一种异常进程的处理装置,如图3所示,该处理装置3包括:

确定模块31,用于确定出异常进程的日志文件包括预先设置的关键词。

处理模块32,用于按照预先设置的与该关键词对应的处理方案处理该异常进程。

进一步地,在图3对应实施例的基础上,本发明提供另一种异常进程的处理装置,如图4所示,该处理装置3还包括:

获取模块33,用于按照预先设置的命令获取预先设置的进程的进程号。

判断模块34,用于若获取模块获取不到该预先设置的进程的进程号,则判断出该预先设置的进程是异常进程。

进一步地,如图4所示,异常进程的处理装置3还包括:

重启模块35,用于使用异常进程的重启文件重启异常进程。

确定模块31具体用于,在异常进程重启失败时执行所述确定的步骤。

进一步地,如图4所示,确定模块31包括:

提取单元311,用于在异常进程的日志文件中提取关键词,每当提取出关键词时,判断该提取的关键词是否为预先设置的关键词,若该提取出的关键词不是预先设置的关键词,则从最近一次在异常进程的日志文件中提取关键词的位置重复执行所述提取的步骤,直到提取出的关键词为预先设置的关键词时为止。

进一步地,在图4对应实施例的基础上,如果异常进程未恢复正常运行,提取单元311还用于,从最近一次在异常进程的日志文件中提取关键词的位置重复执行所述提取的步骤,处理模块32还用于重复执行所述处理的步骤,直到异常进程恢复正常运行时为止。

在实际应用中,确定模块31、处理模块32、获取模块33、判断模块34和重启模块35均可由异常进程的处理装置3中的cpu、微处理器(microprocessorunit,mpu)、数字信号处理器(digitalsignalprocessor,dsp)或现场可编程门阵列(fieldprogrammablegatearray,fpga)等实现。

异常进程的处理装置3可以是守护进程(daemon),守护进程是一种运行在后台的一种特殊的进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。由于在linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭。但是守护进程却能够突破这种限制,它从被执行开始运转,直到整个系统关闭时才退出。如果想让某个进程不因为用户或终端或其他地变化而受到影响,那么就必须把这个进程变成一个守护进程。

根据本发明实施例的异常进程的处理装置,确定出异常进程的日志文件包括预先设置的关键词;按照预先设置的与该关键词对应的处理方案处理该异常进程。从本发明实施例可见,根据异常进程的日志文件中的关键词对异常进程自动进行处理,避免了用户手动处理异常进程,不仅降低了对用户专业水平的要求,还减少了用户在异常进程上花费的精力和时间,提高了异常进程的处理效率。

本发明实施例提供又一种异常进程的处理装置,该异常进程的处理装置包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现的步骤包括:

确定出异常进程的日志文件包括预先设置的关键词;

按照预先设置的与该关键词对应的处理方案处理该异常进程。

进一步地,上述处理器执行计算机程序时实现的步骤还包括:

按照预先设置的命令获取预先设置的进程的进程号;

若获取不到该预先设置的进程的进程号,则判断出该预先设置的进程是所述异常进程。

进一步地,上述处理器执行计算机程序时实现的步骤还包括:

使用所述异常进程的重启文件重启所述异常进程,以在所述异常进程重启失败时执行所述确定的步骤。

进一步地,上述处理器执行计算机程序时实现的步骤具体包括:

在所述异常进程的日志文件中提取关键词,每当提取出关键词时,判断该提取的关键词是否为所述预先设置的关键词,若该提取出的关键词不是所述预先设置的关键词,则从最近一次在所述异常进程的日志文件中提取关键词的位置重复执行所述提取的步骤,直到提取出的关键词为所述预先设置的关键词时为止。

进一步地,如果所述异常进程未恢复正常运行,上述处理器执行计算机程序时实现的步骤还包括:

从最近一次在所述异常进程的日志文件中提取关键词的位置重复执行所述提取的步骤和所述处理的步骤,直到所述异常进程恢复正常运行时为止。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1