进程管理方法及进程管理装置的制造方法

文档序号:9929426阅读:318来源:国知局
进程管理方法及进程管理装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及进程管理方法及进程管理装置。
【背景技术】
[0002]在计算机操作系统中,主进程为了执行一项后台任务,可能需要在其内部线程中依次启动或调用各个级别的子进程,例如主进程启动若干子进程,即一级子进程,而一级子进程又启动若干子进程,即主进程的二级子进程,以此类推。各个级别的子进程分别执行不同的子功能,与主进程从整体上完成该后台任务。对于主进程(也称为父进程)来说,就需要对这些不同级别的子进程进行管理。
[0003]在以JAVA为基础编程语言的操作系统中,主进程无法通过JAVA API接口(Applicat1n Program Interface,简称应用程序接口)获得子进程的ID,并且很多情况下主进程都包含上百个不同级别的子进程,在主进程中往往不能有效区分各个子进程,而仅仅依靠各个子进程的关键字对其进行监控或调用,导致管理效率低下。例如,主进程不能在系统命令中强制停止某些目标子进程,以及该目标子进程包含的各个级别的子进程,而只能依靠子进程自身的退出机制来等待子进程停止。但是在一些场景下,某些子进程可能会由于阻塞无法自行退出,这还会导致启动它的上级或下级子进程也无法正常退出,因而系统资源也会一直被占用,无法释放,造成系统资源的浪费。

【发明内容】

[0004]本发明实施例中提供了进程管理方法及进程管理装置,以解决现有技术中的主进程不能有效区分各个子进程,导致管理效率低下的问题。
[0005]为了解决上述技术问题,本发明实施例公开了如下技术方案:
[0006]—方面,提供了一种进程管理方法,所述方法用于主进程对子进程的管理,所述方法包括:
[0007]在主进程的一级目标子进程所执行的shell命令中写入查询进程ID命令,以使所述一级目标子进程在执行所述shell命令时,向主进程发送所述一级目标子进程的进程ID ;
[0008]主进程在启动所述一级目标子进程后,获得所述一级目标子进程发送的所述一级目标子进程的进程ID ;
[0009]根据启动所述主进程的用户对应的用户名查询所述用户包含的所有进程信息;
[0010]根据所述一级目标子进程的进程ID对所述用户包含的所有进程信息进行分析,以获得所述一级目标子进程包含的所有级别的子进程的进程ID。
[0011]可选的,所述在主进程的一级目标子进程所执行的shell命令中写入查询进程ID命令包括:在所述主进程的一级目标子进程所执行的shell命令的起始位置写入所述查询进程ID命令。
[0012]可选的,根据所述一级目标子进程的进程ID对所述用户包含的所有进程信息进行分析,以获得所述一级目标子进程包含的所有级别的子进程的进程ID,包括:
[0013]从所述一级目标子进程的进程ID依次进行检索,直至获得所述一级目标子进程包含的所有级别的子进程的进程ID,在检索时,根据当前级别的子进程的进程ID检索到所述当前级别的子进程的下一级别的子进程的进程ID。
[0014]可选的,所述进程管理方法还包括:
[0015]根据获得的所述一级目标子进程的进程ID,以及获得的所述一级目标子进程包含的所有级别的子进程的进程ID,删除所述一级目标子进程及所述一级目标子进程包含的所有级别的子进程。
[0016]另一方面,提供了一种进程管理装置,所述系统用于主进程对子进程的管理,所述进程管理装置包括:
[0017]写入单元,用于在主进程的一级目标子进程所执行的shell命令中写入查询进程ID命令,以使所述一级目标子进程在执行所述shell命令时,向主进程发送所述一级目标子进程的进程ID ;
[0018]第一获得单元,用于当主进程在启动所述一级目标子进程后,获得所述一级目标子进程发送的所述一级目标子进程的进程ID ;
[0019]查询单元,用于根据启动所述主进程的用户对应的用户名查询所述用户包含的所有进程ig息;
[0020]第二获得单元,用于根据所述一级目标子进程的进程ID对所述查询单元查询到的所述用户包含的进程信息进行分析,以获得所述一级目标子进程包含的所有级别的子进程的进程ID。
[0021]可选的,所述写入单元包括:在主进程的一级目标子进程所执行的shell命令的起始位置写入所述查询进程ID命令。
[0022]可选的,所述第二获得单元包括:
[0023]从所述一级目标子进程的进程ID依次进行检索,直至获得所述一级目标子进程包含的所有级别的子进程的进程ID,在检索时,根据当前级别的子进程的进程ID检索到所述当前级别的子进程的下一级别的子进程的进程ID。
[0024]可选的,所述进程管理装置还包括:
[0025]删除单元,用于根据第一获得单元获得的所述一级目标子进程的进程ID,以及第二获得单元获得的所述一级目标子进程包含的所有级别的子进程的进程ID,删除所述一级目标子进程及所述一级目标子进程包含的所有级别的子进程。
[0026]由以上技术方案可见,本发明提供的进程管理方法及进程管理装置,首先通过在主进程的一级目标子进程所执行的shell命令中写入查询进程ID命令,以获得所述一级目标子进程的进程ID,再根据启动所述主进程的用户对应的用户名查询所述用户包含的所有进程信息,并根据所述一级目标子进程的进程ID对所述用户包含的所有进程信息进行分析,以获得所述一级目标子进程包含的所有级别的子进程的进程ID。本发明的技术方案能够使主进程获得所有级别的子进程的进程ID,从而允许主进程针对特定的目标子进程进行监控和管理,例如删除某些耗费资源的子进程,以防止这些子进程对系统资源进行长时间占用造成的浪费。
【附图说明】
[0027]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0028]图1为本发明进程管理方法提供的一个实施例的流程示意图;
[0029]图2A为本发明进程管理方法提供的另一个实施例的流程示意图;
[0030]图2B为所述查询一级目标子进程ID的过程对应的代码示意图;
[0031]图2C为所述查询一级目标子进程ID的过程对应的另一个代码示意图;
[0032]图2D为本发明进程管理方法的另一个实施例的步骤203的查询结果示意图;
[0033]图3为本发明进程管理装置提供的一个实施例的结构示意图。
【具体实施方式】
[0034]首先对本发明进程管理方法的实施例进行说明,如图1所示,为本发明进程管理方法提供的一个实施例的流程示意图,该实施例包括如下步骤:
[0035]步骤101:在主进程的一级目标子进程所执行的shell命令中写入查询进程ID命令,以使所述一级目标子进程在执行所述shell命令时,向主进程发送所述一级目标子进程的进程ID。
[0036]参考【背景技术】,在主进程中启动的子进程称为一级子进程,在主进程中一般启动不止一个子进程,为了描述方便,指定一个目标子进程。主进程能获得该目标子进程的关键字信息或名称,以对该目标子进程进行启动。
[0037]例如,该查询命令的代码为:
[0038]echo processld = $$ ;
[0039]其中,processld为查询的子进程的进程ID的变量参数名,相应的,在步骤102中获得所述子进程的进程ID时也根据此变量参数名来获取。
[0040]将该代码放入该一级目标子进程的shell命令或.sh类型的脚本命令中,当所述一级目标子进程执行该shell命令或.sh类型的脚本时,便能够向主进程返回该目标一级子进程的进程ID。
[0041]shell命令为执行命令,用户登录时,实际进入了 shell平台,它遵循一定的语法,将输入的命令加以解释并传给系统。shell命令能够实现数据文件的实时采集,及时读取文件新产生的内容。把任何一个shell命令写在以.sh结尾的文件中,即形成.sh脚本,.sh脚本是UNIX/LINUX操作系统的脚本文件。
[0042]步骤102:主进程在启动所述一级目标子进程后,获得所述一
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1