一种系统进程监控方法及计算设备与流程

文档序号:11230236阅读:256来源:国知局
一种系统进程监控方法及计算设备与流程

本发明涉及计算机领域,特别是涉及一种系统进程监控方法及计算设备。



背景技术:

系统进程运行过程中,其运行相关参数,例如cpu使用率,实时变化。当某一进程高速运行时,容易导致系统总的cpu使用率过高,从而造成其他进程运行缓慢或者系统超负载的情况。

本发明的发明人在长期的研究中发现,现有技术中采用监控进程对系统进程的运行相关参数进行监控,在某一进程的运行相关参数过高时,例如cpu使用率过高时,提醒用户,由用户手动处理,灵活性不高。



技术实现要素:

本发明主要解决的技术问题是提供一种系统进程监控方法及计算设备,能够解决现有技术中需要用户手动处理进程的问题。

为解决上述技术问题,本发明采用的一个技术方案是:提供一种系统进程监控方法,包括:利用操作系统自身进程获取被监控的进程的身份标识及其运行相关参数;判断运行相关参数是否超过预先设置的阈值;若超过预先设置的阈值,则对超过预先设置的阈值的被监控的进程和/或操作系统的其他进程进行处理。

为解决上述技术问题,本发明采用的另一个技术方案是:提供一种计算设备,包括:相互连接的处理器和存储器,处理器用于利用操作系统自身进程获取被监控的进程的身份标识及其运行相关参数,判断运行相关参数是否超过预先设置的阈值,在超过预先设置的阈值时,对超过预先设置的阈值的被监控的进程和/或操作系统的其他进程进行处理;存储器用于存储被监控的进程的身份标识及其运行相关参数。

本发明的有益效果是:区别于现有技术的情况,本发明的实施例利用操作系统自身进程获取被监控的进程的身份标识及其运行相关参数,判断运行相关参数是否超过预先设置的阈值,在超过预先设置的阈值时,对超过预先设置的阈值的被监控的进程和/或操作系统的其他进程进行处理,从而利用操作系统自身进程自动监控并处理被监控的进程和/或操作系统的其他进程,不需要用户手动处理,提高监控灵活性。

附图说明

图1是本发明系统进程监控方法第一实施方式的流程示意图;

图2是本发明系统进程监控方法第二实施方式的流程示意图;

图3是本发明系统进程监控方法第三实施方式的流程示意图;

图4是本发明计算设备一实施方式的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,图1是本发明系统进程监控方法第一实施方式的流程示意图。如图1所示,本发明快速查看通知的方法包括:

步骤s10:利用操作系统自身进程获取被监控的进程的身份标识及其运行相关参数;

其中,运行相关参数包括被监控的进程的cpu使用率、内存使用率以及优先级中的至少一个,被监控的进程包括系统所有运行的进程、所有休眠的进程中的至少一个。

进一步地,步骤s10包括:

步骤s101:从来自被监控的进程的使用率信号中获取被监控的进程的身份标识。

其中,pid就是各进程的身份标识,进程开始运行时,系统就会自动给进程分配一个唯一的pid,进程中止后pid被系统回收,可能会被继续分配给新运行的进程;使用率信号是被监控的进程运行过程中相关参数值变化的信号,该使用率信号中至少包括被监控的进程的身份标识及其运行相关参数,可以是由操作系统自身进程主动获取,也可以是由被监控的进程主动上报,此处不做具体限定。

具体地,在一个应用例中,被监控的进程运行于linux操作系统,该操作系统自身进程是在操作系统内核中运行的监控进程。该linux操作系统的内核中增加自定义的监控程序,该监控程序运行时即产生该监控进程,并且该操作系统中还自定义和/或修改内核程序、壳shell程序和库函数,以使得该监控进程运行时,可以调用相应的检测、处理的shell程序和库函数,从而实现对被监控的进程进行实时监控和处理。

操作系统启动后,加载任务列表,执行任务列表中的任务,该操作系统监控进程实时监控系统中所有运行的进程和所有休眠的进程,当被监控的进程开始运行时,获取所有被监控的进程的身份标识(即pid)以及其运行相关参数,例如cpu使用率、内存使用率及初始优先级,并将获取的参数保存;其中,被监控的进程运行过程中,被监控的进程的cpu使用率、内存使用率等运行相关参数实时变化,该监控进程实时监控被监控的进程运行相关参数,从来自被监控的进程的使用率信号中获取被监控的进程的身份标识及其运行相关参数。

当然,在其他实施例中,被监控的进程可以是部分特定的进程,也可以运行在其他操作系统中,此处不做具体限定。

进一步地,步骤s10之前包括:

步骤s00:利用操作系统自身进程对被监控的进程进行身份验证;

步骤s01:若验证通过,则执行步骤s10;

步骤s02:若验证不通过,则屏蔽被监控的进程,以使被监控的进程无法访问系统。

具体地,在上述应用例中,操作系统自身进程在被监控的进程尝试访问系统时,对该被监控的进程进行身份验证,判断该被监控的进程是否具有访问权限,若验证通过,则继续执行步骤s10,若验证不通过,则表明该被监控的进程不具有访问权限,屏蔽该被监控的进程,以使该被监控的进程无法访问系统。

例如,操作系统自身进程获取尝试访问系统的被监控的进程的身份标识,判断该身份标识是否在系统保存的进程列表中,其中该进程列表包括具有访问权限的所有进程,若该被监控的进程的身份标识在该进程列表中,则验证通过,继续执行步骤s10;若该被监控的进程的身份标识不在该进程列表中,则验证不通过,屏蔽该被监控的进程,以使该被监控的进程无法访问系统,从而防止不具有访问权限的非法程序访问系统,提高系统的安全性。

当然,在其他应用例中,操作系统自身进程还可以采用验证数字证书等其他方式对被监控的进程进行身份验证,此处不做具体限定。

步骤s11:判断运行相关参数是否超过预先设置的阈值;

其中,该预先设置的阈值是该操作系统监控进程预先设置的被监控的进程运行相关参数的限制值,例如cpu使用率的最大限制值,不同的进程可以设置不同的阈值,且此处的阈值可以指一个范围,此处不做具体限定。

步骤s12:若超过预先设置的阈值,则对超过预先设置的阈值的被监控的进程和/或操作系统的其他进程进行处理。

具体地,在上述应用例中,该监控进程获取被监控的进程的运行相关参数,判断各运行相关参数是否超过预先设置的阈值,并对超过预先设置的阈值的被监控的进程进行处理。例如,该监控进程获取某一被监控的进程的cpu使用率,判断该cpu使用率是否超过预先设置的阈值,例如50%,若超过,则对被监控的进程进行处理,例如屏蔽该被监控的进程1至2秒,以使得该被监控的进程cpu使用率降低,从而使得系统总的cpu使用率下降,避免由于cpu使用率过高而导致的运行卡顿或错误,提高系统稳定性。

当然,在其他实施例中,该监控进程也可以降低超过预先设置的阈值的被监控的进程的优先级,或者同时对操作系统的其他进程进行处理,或者对操作系统的其他进程进行处理,例如调整其他进程的优先级等以减轻或克服运行卡顿或错误问题,提高系统稳定性,此处不做具体限定。

本实施方式中,利用操作系统自身进程获取被监控的进程的身份标识及其运行相关参数,判断运行相关参数是否超过预先设置的阈值,在超过预先设置的阈值时,对超过预先设置的阈值的被监控的进程和/或操作系统的其他进程进行处理,从而实现自动监控并处理被监控的进程和/或操作系统的其他进程,不需要用户手动处理,提高监控灵活性。

请参阅图2,图2是本发明系统进程监控方法第二实施方式的流程示意图,是本发明系统进程监控方法第一实施方式步骤s12的具体步骤,包括:

步骤s121:降低超过预先设置的阈值的被监控的进程的优先级;

其中,进程开始运行时,操作系统会给该进程分配一个初始优先级,该进程的优先级决定该进程的运行速度和所占有的系统资源,优先级的具体等级设置可以根据不同进程设置,此处不做具体限定。

具体地,在一个应用例中,该操作系统自身进程,即操作系统内核中运行的监控进程,实时监控被监控的进程的运行相关参数,在该运行相关参数超过预先设置的阈值时,降低超过预先设置的阈值的被监控的进程的优先级。例如,该监控进程获取某一被监控的进程的内存使用率,判断该内存使用率是否超过预先设置的阈值,例如50%,若超过,则降低该进程的优先级,以使得该被监控的进程从高速运行状态变为后台缓慢运行状态,从而使得系统总的内存使用率下降,避免由于内存使用率过高而导致的运行卡顿或错误,提高系统稳定性。

当然,在其他实施方式中,该监控进程也可以通过向用户发送提醒消息,提醒用户该被监控的进程运行相关参数超过预先设置的阈值,建议用户关闭相关进程,当用户在预定时间内或者提醒次数超过预设次数时,仍然没有关闭相关进程时,自动降低该被监控的进程的优先级或在预定时间后直接关闭进程。

进一步地,步骤s121之后包括:

步骤s122:清理超过预先设置的阈值的被监控的进程占用的系统缓存;

具体地,在上述应用例中,降低该被监控的进程的优先级后,该监控进程还可以清理该被监控的进程占用的系统缓存,以使得其他进程可以使用更多缓存空间,提高资源利用率,减少资源浪费,提高系统运行效率。

步骤s123:减少超过预先设置的阈值的被监控的进程占用的内存和cpu资源,以使超过预先设置的阈值的被监控的进程保持后台运行。

具体地,上述应用例中,该监控进程还可以进一步减少该被监控的进程占用的内存和cpu资源,从而使得该被监控的进程保持后台运行,进一步提高资源利用率。当然,在其他应用例中,该监控进程也可以重新分配该监控的进程占用的内存空间和cpu使用率的最大限制值等,此处不做具体限定。

本实施方式是本发明系统进程监控方法第一实施方式中步骤s12的具体步骤,本实施方式可以与本发明系统进程监控方法第一实施方式相结合。

请参阅图3,图3是本发明系统进程监控方法第三实施方式的流程示意图,是在本发明系统进程监控方法第一实施方式的基础上,进一步包括:

步骤s21:判断是否接收到被监控的进程的退出信号;

其中,在进程异常退出时,该进程会向操作系统发送一个退出信号,例如0,以通知操作系统进行相关处理。

步骤s22:若接收到被监控的进程的退出信号,则重新启动被监控的进程。

其中,步骤s22进一步包括:

步骤s221:从被监控的进程的退出信号中获取被监控的进程的身份标识;

步骤s222:重新启动该身份标识对应的被监控的进程。

具体的,被监控的进程异常退出时,其向操作系统发送一个退出信号,该退出信号中包括该被监控的进程的身份标识,该操作系统自身的进程,即操作系统内核中运行的监控进程,从该退出信号中获取该被监控的进程的身份标识,为了保证被监控的进程保持运行状态,该监控进程向该被监控的进程发送重启信号,例如1,以重新启动该身份标识对应的被监控的进程。

其中,步骤s222进一步包括:

步骤s2221:获取重新启动配置文件中记录的该身份标识对应的控制脚本名称;

步骤s2222:执行控制脚本名称对应的控制脚本,以重新启动该身份标识对应的被监控的进程。

具体地,在一个应用例中,操作系统内存中保存有各进程的重新启动配置文件,该操作系统自身进程,即操作系统内核中运行的监控进程,需要重新启动某一被监控的进程时,该监控进程从内存中的重新启动配置文件中获取该被监控的进程的身份标识对应的控制脚本名称,执行该控制脚本名称对应的控制脚本,以重新启动该被监控的进程,从而保证被监控的进程持续运行,提高系统稳定性。

本实施方式的步骤的执行可以在本发明系统进程监控方法第一或第二实施方式中任意一个步骤之前/后,本实施方式可以与本发明系统进程监控方法第一和/或第二实施方式向结合。

请参阅图4,图4是本发明计算设备一实施方式的结构示意图。如图4所示,本发明计算设备40包括:相互连接的处理器401和存储器402;

在一个应用例中,该计算设备40是服务器,该服务器可以是云端服务器,其具有多个客户端接口,接收多个用户客户端的访问。

处理器401用于利用操作系统自身进程获取被监控的进程的身份标识及其运行相关参数,判断运行相关参数是否超过预先设置的阈值,在超过预先设置的阈值时,对超过预先设置的阈值的被监控的进程和/或操作系统的其他进程进行处理。

存储器402用于存储被监控的进程的身份标识及其运行相关参数。

其中,该操作系统自身进程是服务器40的操作系统内核中运行的监控进程,运行相关参数包括被监控的进程的cpu使用率、内存使用率以及优先级中的至少一个,该预先设置的阈值可以根据不同进程具体设置,且此处的阈值可以指一个范围,此处不做具体限定。

具体地,在一个应用例中,被监控的进程运行于linux操作系统。该linux操作系统的内核中增加自定义的监控程序,该监控程序运行时即产生该监控进程,并且该操作系统中还自定义和/或修改内核程序、壳shell程序和库函数,以使得该监控进程运行时,可以调用相应的检测、处理的shell程序和库函数,从而实现对被监控的进程进行实时监控和处理。

操作系统启动后,加载任务列表,执行任务列表中的任务,处理器401利用该操作系统监控进程实时监控系统中所有运行的进程和所有休眠的进程,当被监控的进程开始运行时,获取所有被监控的进程的身份标识(即pid)以及其运行相关参数,例如cpu使用率、内存使用率及初始优先级,并将获取的参数保存;当然,在其他应用例中,被监控的进程可以是部分特定的进程,也可以运行在其他操作系统中,此处不做具体限定。

其中,被监控的进程运行过程中,被监控的进程的cpu使用率、内存使用率等运行相关参数实时变化,处理器401利用该监控进程实时监控被监控的进程运行相关参数,在该运行相关参数超过预先设置的阈值时,对超过预先设置的阈值的被监控的进程进行处理。

例如,处理器401利用该监控进程获取某一被监控的进程的cpu使用率,判断该cpu使用率是否超过预先设置的阈值,例如30%,若超过,则降低该进程的优先级,以使得该被监控的进程从高速运行状态变为后台缓慢运行状态,从而使得系统总的cpu使用率下降,避免由于cpu使用率过高而导致的运行卡顿或错误,提高计算设备40的稳定性。

当然,在其他应用例中,处理器401也可以利用该监控进程通过客户端接口向用户发送提醒消息,提醒用户该被监控的进程运行相关参数超过预先设置的阈值,建议用户关闭相关进程,当预定时间内或者提醒次数超过预设次数时,仍然没有接收到用户关闭相关进程的消息时,处理器401利用该监控进程自动对该被监控的进程进行处理;此外,处理器401还可以同时对操作系统的其他进程进行处理,或者对操作系统的其他进程进行处理,例如调整其他进程的优先级等以减轻或克服运行卡顿或错误问题,提高系统稳定性,此处不做具体限定。

进一步地,处理器401还可以利用操作系统自身进程先对被监控的进程进行身份验证,并在验证通过时,则获取被监控的进程的身份标识及其运行相关参数,在验证不通过时,屏蔽被监控的进程,以使被监控的进程无法访问系统。

例如,处理器401利用操作系统自身进程获取尝试访问系统的被监控的进程的身份标识,判断该身份标识是否在系统保存的进程列表中,其中该进程列表包括具有访问权限的所有进程,若该被监控的进程的身份标识在该进程列表中,则验证通过,获取被监控的进程的身份标识及其运行相关参数;若该被监控的进程的身份标识不在该进程列表中,则验证不通过,屏蔽该被监控的进程,以使该被监控的进程无法访问系统,从而防止不具有访问权限的非法程序访问系统,提高系统的安全性。

当然,在其他应用例中,操作系统自身进程还可以采用验证数字证书等其他方式对被监控的进程进行身份验证,此处不做具体限定。

进一步参阅图4,在另一应用例中,处理器401用于判断是否接收到被监控的进程的退出信号,在接收到被监控的进程的退出信号时,重新启动被监控的进程。

具体的,被监控的进程异常退出时,其向操作系统发送一个退出信号,该退出信号中包括该被监控的进程的身份标识,处理器401利用该操作系统自身的进程,即操作系统内核中运行的监控进程,从该退出信号中获取该被监控的进程的身份标识,为了保证被监控的进程保持运行状态,该监控进程向该被监控的进程发送重启信号,例如1,以重新启动该身份标识对应的被监控的进程。

在其他应用例中,处理器401可以从存储器402中获取重新启动配置文件中记录的该身份标识对应的控制脚本名称,执行控制脚本名称对应的控制脚本,以重新启动该身份标识对应的被监控的进程,从而保证被监控的进程持续运行,提高计算设备40的稳定性。

当然,在其他实施方式中,该计算设备40还可以是平板电脑、笔记本电脑等其他计算设备,此处不做具体限定。

本实施方式中,计算设备利用操作系统自身进程获取被监控的进程的身份标识及其运行相关参数,判断运行相关参数是否超过预先设置的阈值,在超过预先设置的阈值时,对超过预先设置的阈值的被监控的进程和/或操作系统的其他进程进行处理,从而实现自动监控并处理被监控的进程和/或操作系统的其他进程,不需要用户手动处理,提高计算设备的灵活性。

以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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