CN114385279A - 子进程管理方法、装置、设备及介质 - Google Patents
子进程管理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114385279A CN114385279A CN202210006476.0A CN202210006476A CN114385279A CN 114385279 A CN114385279 A CN 114385279A CN 202210006476 A CN202210006476 A CN 202210006476A CN 114385279 A CN114385279 A CN 114385279A
- Authority
- CN
- China
- Prior art keywords
- script
- sub
- command script
- target command
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
Abstract
本发明实施例公开了一种子进程管理方法、装置、设备及介质。该方法通过获取主进程待调用的初始命令脚本,基于该初始命令脚本生成多个目标命令脚本,生成的目标命令脚本的个数与启动该初始命令脚本后生成的子进程的个数相同,且各个目标命令脚本的脚本标识不同,针对每一个目标命令脚本,通过该目标命令脚本生成对应的子进程,使得生成的各个子进程的进程标识与其依赖的目标命令脚本的脚本标识相对应,进而使得各个子进程的进程标识互不相同,实现了对各个子进程的有效区分,便于对各子进程进行管理,解决了现有技术中主进程对各子进程管理效率低下的技术问题。
Description
技术领域
本发明实施例涉及shell脚本技术领域,尤其涉及一种子进程管理方法、装置、设备及介质。
背景技术
在使用shell脚本进行编程时,经常会遇到主进程会调用相同shell脚本传递不同参数产生多个子进程的情况。由于通过同一shell脚本产生多个子进程,因此,导致该shell脚本产生的各子进程的名称一致,进而导致无法通过shell脚本名对子进程进行区分,通过参数区分实现难度比较复杂,主进程较难对子进程做到有效管理。例如,主进程不能在系统命令中强制停止某些子进程,只能依靠子进程自身的退出机制来等待子进程停止,然而,若某些子进程由于阻塞无法自行退出,则会导致系统资源一直被占用,将造成系统资源的浪费。因此,现有技术存在主进程不能有效区分各个子进程,导致管理效率低下的问题。
发明内容
本发明实施例提供了一种子进程管理方法、装置、设备及介质,以实现对各个子进程的有效区分,进而便于对各子进程进行管理。
第一方面,本发明实施例提供了一种子进程管理方法,所述方法包括:
获取主进程待调用的初始命令脚本;
基于所述初始命令脚本确定各目标命令脚本,其中,所述目标命令脚本的个数与启动所述初始命令脚本后生成的子进程的个数相同,且,各所述目标命令脚本的脚本标识不同;
针对各所述目标命令脚本,基于所述目标命令脚本生成所述目标命令脚本对应的子进程。
可选的,所述基于所述初始命令脚本确定各目标命令脚本,包括:
基于所述初始命令脚本对应的待产生的子进程的个数,对所述初始命令脚本进行复制处理,得到各目标命令脚本;
基于命名唯一规则生成各所述目标命令脚本对应的脚本标识。
可选的,所述方法还包括:
获取各所述子进程的进程标识信息;
确定各所述子进程的资源消耗情况、运行时长以及运行状态;
基于各所述进程标识信息、各所述资源消耗情况、各所述运行时长以及各所述运行状态,生成各所述子进程对应的子进程管理信息。
可选的,所述获取各所述子进程的进程标识信息,包括:
获取各子进程查询命令,其中,所述子进程查询命令包括所述目标命令脚本的脚本标识;
针对各所述子进程查询命令,基于所述子进程查询命令确定所述子进程查询命令中的脚本标识对应的子进程的进程标识信息。
可选的,所述基于所述目标命令脚本生成所述目标命令脚本对应的子进程,包括:
基于所述目标命令脚本确定待传递参数;
基于所述待传递参数生成所述目标命令脚本对应的子进程。
可选的,所述主进程包括一级父进程,所述子进程包括二级子任务。
可选的,所述主进程还包括二级子任务,所述子进程还包括三级子任务。
第二方面,本发明实施例还提供了一种子进程管理装置,所述装置包括:
脚本获取模块,用于获取主进程待调用的初始命令脚本;
脚本复制模块,用于基于所述初始命令脚本确定各目标命令脚本,其中,所述目标命令脚本的个数与启动所述初始命令脚本后生成的子进程的个数相同,且,各所述目标命令脚本的脚本标识不同;
进程生成模块,用于针对各所述目标命令脚本,基于所述目标命令脚本生成所述目标命令脚本对应的子进程
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例提供的子进程管理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例提供的子进程管理方法。
上述发明中的实施例具有如下优点或有益效果:
通过获取主进程待调用的初始命令脚本,基于该初始命令脚本生成多个目标命令脚本,生成的目标命令脚本的个数与启动该初始命令脚本后生成的子进程的个数相同,且各个目标命令脚本的脚本标识不同,针对每一个目标命令脚本,通过该目标命令脚本生成对应的子进程,使得生成的各个子进程的进程标识与其依赖的目标命令脚本的脚本标识相对应,进而使得各个子进程的进程标识互不相同,实现了对各个子进程的有效区分,便于对各子进程进行管理,解决了现有技术中主进程对各子进程管理效率低下的技术问题。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1A为本发明实施例一所提供的一种子进程管理方法的流程示意图;
图1B为本发明实施例一所提供的一种层级进程管理示意图;
图2A为本发明实施例二所提供的一种子进程管理方法的流程示意图;
图2B为本发明实施例二所提供的一种子进程管理方法的流程示意图;
图3为本发明实施例三所提供的一种子进程管理装置的结构示意图;
图4为本发明实施例四所提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1A为本发明实施例一提供的一种子进程管理方法的流程示意图,本实施例可适用于使用命令脚本进行编程,如,shell脚本,主进程调用同一个命令脚本传递不同参数产生多个子进程的情况,该方法可以由子进程管理装置来执行,该装置可以由硬件和/或软件来实现,该方法具体包括如下步骤:
S110、获取主进程待调用的初始命令脚本。
在本实施例中,进程可以是一个具有独立功能的程序关于某个数据集合的一次运行活动。具体的,主进程可以是系统中用于执行主任务、生成和管理其它子任务的进程。
具体的,初始命令脚本可以是主进程需要生成一个或多个子进程时所调用的编程语言文件。初始命令脚本可以是shell脚本。Shell一种程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。主进程可以通过调用shell脚本来产生一个或多个子进程。在本实施例中,可以在检测到主进程具备调用行为时,获取主进程待调用的初始命令脚本。
S120、基于所述初始命令脚本确定各目标命令脚本,其中,所述目标命令脚本的个数与启动所述初始命令脚本后生成的子进程的个数相同,且,各所述目标命令脚本的脚本标识不同。
具体的,在获取到主进程即将调用的初始命令脚本后,可以基于初始命令脚本生成一个或多个目标命令脚本。其中,所生成的各个目标命令脚本的内容与初始命令脚本的内容完全相同;所生成的目标命令脚本的数量等于启动所述初始命令脚本后所生成的子进程的数量,即主进程期望产生的子进程的数量;所生成的各个目标命令脚本的脚本标识互不相同。
示例性的,主进程可以复制多份初始命令脚本,并按照预设的命名规则对复制的各个初始命令脚本进行重命名,以使各个初始命令脚本的脚本标识不同。即,可选的,所述基于所述初始命令脚本确定各目标命令脚本,可以是:基于所述初始命令脚本对应的待产生的子进程的个数,对所述初始命令脚本进行复制处理,得到各目标命令脚本;基于命名唯一规则生成各所述目标命令脚本对应的脚本标识。
其中,初始命令脚本对应的待产生的子进程的个数可以是主进程期望生成的子进程的个数。具体的,可以基于主进程期望生成的子进程的个数,对初始命令脚本进行复制处理,其中,复制的次数=初始命令脚本对应的待产生的子进程的个数-1。
进一步的,在对初始命令脚本进行复制处理后,可以将原始的初始命令脚本与复制出的各个初始命令脚本作为目标命令脚本,通过命名唯一规则对目标命令脚本对应的脚本标识进行重命名。其中,命名唯一规则可以是基于预设的唯一标识子进程的字符串对目标命令脚本进行命名。例如,通过命名唯一规则生成的各脚本标识可以分别为:“任务ID_01.sh”、“任务ID_02.sh”、“任务ID_03.sh”、“任务ID_04.sh”。
S130、针对各所述目标命令脚本,基于所述目标命令脚本生成所述目标命令脚本对应的子进程。
具体的,在得到各个目标命令脚本后,主进程可以通过运行各个目标命令脚本生成各个目标命令脚本对应的子进程。需要说明的是,针对每一个目标命令脚本,其所生成的子进程的进程标识与目标命令脚本的脚本标识相对应。
沿用上例,主进程启动“任务ID_01.sh”、“任务ID_02.sh”、“任务ID_03.sh”、“任务ID_04.sh”,生成子进程“任务ID_01”、“任务ID_02”、“任务ID_03”、“任务ID_04”。
在一种实施方式中,所述基于所述目标命令脚本生成所述目标命令脚本对应的子进程,包括:基于所述目标命令脚本确定待传递参数;基于所述待传递参数生成所述目标命令脚本对应的子进程。其中,待传递参数可以是目标命令脚本中的传递参数。具体的,主进程可以通过启动目标命令脚本获取待传递参数,进一步的,根据待传递参数生成目标命令脚本对应的子进程。
通过上述方式,可以使得生成的子进程的进程标识与其依赖的目标命令脚本的脚本标识相对应,进而可以使得各个子进程的进程标识不同,便于主进程对各个子进程的区分。
在本实施例中,可选的,所述主进程包括一级父进程,所述子进程包括二级子任务。即,主进程是一级父进程时,若一级父进程需要产生一个或多个二级子任务,则可以通过待调用的初始命令脚本生成各个目标命令脚本。进而基于各个目标命令脚本生成各个二级子任务。
在另一种可选的实施方式中,所述主进程还包括二级子任务,所述子进程还包括三级子任务。即,若二级子任务需要产生一个或多个三级子任务,则二级子任务可以获取其待调用的初始命令脚本,基于该初始命令脚本生成各个目标命令脚本,并通过各目标命令脚本生成各个三级子任务。可选的,可以按照原有的命名唯一规则,制定一个或多个可以唯一标识三级子任务的字符串,如“任务ID_0101”、“任务ID_0102”,并按照各字符串对三级子任务调用的各目标命令脚本分别进行重命名,如“任务ID_0101.sh”、“任务ID_0102.sh”。
示例性的,如图1B所示,展示了一种层级进程管理示意图,参见图1B,生成一级父进程的shell脚本的脚本标识为“父进程DEP.sh”,生成二级子任务的shell脚本的脚本标识分别为“DEP_01.sh”、“DEP_02.sh”、……,二级子任务“DEP_01.sh”生成三级子任务的shell脚本的脚本标识分别为“DEP_0101.sh”、“DEP_0102.sh”,二级子任务“DEP_02.sh”生成三级子任务的shell脚本的脚本标识分别为“DEP_0201.sh”、“DEP_0202.sh”。
对于多级任务,本实施例可以按照一定的命名规则,制定一个或获取一个可以标识各级子任务名称的字符串,对各级子shell脚本进行重命名。主进程可以通过重命名后脚本表示查找各级子任务的进程标识,从而可以实现进程的层级管理。
本实施例的技术方案,通过获取主进程待调用的初始命令脚本,基于该初始命令脚本生成多个目标命令脚本,生成的目标命令脚本的个数与启动该初始命令脚本后生成的子进程的个数相同,且各个目标命令脚本的脚本标识不同,针对每一个目标命令脚本,通过该目标命令脚本生成对应的子进程,使得生成的各个子进程的进程标识与其依赖的目标命令脚本的脚本标识相对应,进而使得各个子进程的进程标识互不相同,实现了对各个子进程的有效区分,便于对各子进程进行管理,解决了现有技术中主进程对各子进程管理效率低下的技术问题。
实施例二
图2A为本发明实施例二提供的一种子进程管理方法的流程示意图,本实施例在上述实施例的基础上,可选的,所述方法还包括:获取各所述子进程的进程标识信息;确定各所述子进程的资源消耗情况、运行时长以及运行状态;基于各所述进程标识信息、各所述资源消耗情况、各所述运行时长以及各所述运行状态,生成各所述子进程对应的子进程管理信息。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2A,本实施例提供的子进程管理方法包括以下步骤:
S210、获取主进程待调用的初始命令脚本,基于所述初始命令脚本确定各目标命令脚本。
其中,所述目标命令脚本的个数与启动所述初始命令脚本后生成的子进程的个数相同,且,各所述目标命令脚本的脚本标识不同。
S220、针对各所述目标命令脚本,基于所述目标命令脚本生成所述目标命令脚本对应的子进程。
S230、获取各所述子进程的进程标识信息,确定各所述子进程的资源消耗情况、运行时长以及运行状态。
其中,子进程的进程标识信息可以是描述子进程的进程标识的信息。在一种实施方式中,主进程可以建立子进程的进程标识信息与目标命令脚本的脚本标识之间的映射表,进而可以通过映射表以及目标命令脚本的脚本标识获取子进程的进程标识信息。或者,主进程可以在生成各子进程时,一并按照各个子进程的进程标识信息,生成主进程与各子进程的关系信息表,进而通过该信息表获取各子进程的进程标识信息。
在另一种实施方式中,所述获取各所述子进程的进程标识信息,可以是:获取各子进程查询命令,其中,所述子进程查询命令包括所述目标命令脚本的脚本标识;针对各所述子进程查询命令,基于所述子进程查询命令确定所述子进程查询命令中的脚本标识对应的子进程的进程标识信息。
其中,子进程查询命令可以是用于查询目标命令脚本的脚本标识所对应的子进程的命令,如ps-aux|grep“子任务ID.sh”。具体的,子进程查询命令中包含待查询的目标命令脚本的脚本标识,主进程可以执行子进程查询命令,以获取该脚本标识对应的子进程的进程标识信息。当然,主进程也可以按照所有目标命令脚本的脚本标识,自动生成用于查询所有目标命令脚本对应的子进程的进程标识信息的子进程查询命令,并自动执行所有子进程查询命令,得到所有子进程的进程标识信息。
通过该可选的实施方式,主进程无需维护各个目标命令脚本的脚本标识与子进程的进程标识信息之间的对应关系,若需要管理某个子进程,主进程只需执行子进程查询命令即可获取到子进程的进程标识信息,进而对该子进程进行管理。与维护子进程与目标命令脚本之间的对应关系,以及维护主进程与各子进程之间的关系信息表相比,该方法无需建立关系进行维护,减少了程序设计难度以及资源开销。
进一步的,在得到各个子进程的进程标识信息后,主进程还可以获取各个子进程的资源消耗情况、运行时长以及运行状态。其中,资源消耗情况可以是子进程运行占用内存;运行时长可以是子进程从启动至当前时刻的时长;运行状态可以是子进程当前的执行状态,如正常、无法响应等。
S240、基于各所述进程标识信息、各所述资源消耗情况、各所述运行时长以及各所述运行状态,生成各所述子进程对应的子进程管理信息。
具体的,主进程可以根据各个子进程的进程标识信息、资源消耗情况、运行时长以及运行状态,生成各个子进程的子进程管理信息。通过子进程管理信息,可以使得主进程对各个子进程进行管理,例如,主进程可以在检测到存在无法响应的子进程时,根据该子进程的进程标识信息终止该子进程,完成资源回收。或者,主进程还可以在检测到资源消耗超过预设资源阈值的子进程时,根据该子进程的进程标识信息终止该子进程,完成资源回收。又或者,主进程还可以在检测到运行时长超过预设时长阈值的子进程时,根据该子进程的进程标识信息终止该子进程,完成资源回收。
示例性的,如图2B所示,展示了一种子进程管理方法的流程示意图,在该方法中,首先,主进程对shell脚本进行复制并重命名各个shell脚本,如,SonProcess.sh->DEP_01.sh;然后,主进程调用各个shell脚本,如,./DEP_01.sh参数A参数B;最后,主进程根据各shell脚本的ID,周期性扫描各子进程,对子进程进行管理,如:ps-aux|grep“DEP_01.sh”。
本实施例的技术方案,主进程可以获取各个子进程的进程标识信息,并确定各个子进程的资源消耗情况、运行时长以及运行状态,进而基于各子进程的进程标识信息、资源消耗情况、运行时长以及运行状态,建立各子进程对应的子进程管理信息,使得主进程可以通过各子进程管理信息对各个子进程进行管理,例如杀死需要终止的子进程,回收子进程的资源等,便于主进程对各子进程的管理。
实施例三
图3为本发明实施例三提供的一种子进程管理装置的结构示意图,本实施例可适用于使用命令脚本进行编程,如,shell脚本,主进程调用同一个命令脚本传递不同参数产生多个子进程的情况,该装置具体包括:脚本获取模块310、脚本复制模块320和进程生成模块330。
脚本获取模块310,用于获取主进程待调用的初始命令脚本;
脚本复制模块320,用于基于所述初始命令脚本确定各目标命令脚本,其中,所述目标命令脚本的个数与启动所述初始命令脚本后生成的子进程的个数相同,且,各所述目标命令脚本的脚本标识不同;
进程生成模块330,用于针对各所述目标命令脚本,基于所述目标命令脚本生成所述目标命令脚本对应的子进程。
可选的,脚本复制模块320,具体用于:
基于所述初始命令脚本对应的待产生的子进程的个数,对所述初始命令脚本进行复制处理,得到各目标命令脚本;基于命名唯一规则生成各所述目标命令脚本对应的脚本标识。
可选的,所述装置还包括标识获取模块以及资源管理模块;其中,所述标识获取模块,用于获取各所述子进程的进程标识信息;所述资源管理模块,用于确定各所述子进程的资源消耗情况、运行时长以及运行状态;基于各所述进程标识信息、各所述资源消耗情况、各所述运行时长以及各所述运行状态,生成各所述子进程对应的子进程管理信息。
可选的,所述标识获取模块,具体用于:
获取各子进程查询命令,其中,所述子进程查询命令包括所述目标命令脚本的脚本标识;针对各所述子进程查询命令,基于所述子进程查询命令确定所述子进程查询命令中的脚本标识对应的子进程的进程标识信息。
可选的,所述进程生成模块330,具体用于:
基于所述目标命令脚本确定待传递参数;基于所述待传递参数生成所述目标命令脚本对应的子进程。
可选的,所述主进程包括一级父进程,所述子进程包括二级子任务。
可选的,所述主进程还包括二级子任务,所述子进程还包括三级子任务。
在本实施例中,通过脚本获取模块,获取主进程待调用的初始命令脚本,通过脚本复制模块,基于该初始命令脚本生成多个目标命令脚本,生成的目标命令脚本的个数与启动该初始命令脚本后生成的子进程的个数相同,且各个目标命令脚本的脚本标识不同,通过进程生成模块,针对每一个目标命令脚本,通过该目标命令脚本生成对应的子进程,使得生成的各个子进程的进程标识与其依赖的目标命令脚本的脚本标识相对应,进而使得各个子进程的进程标识互不相同,实现了对各个子进程的有效区分,便于对各子进程进行管理,解决了现有技术中主进程对各子进程管理效率低下的技术问题。
本发明实施例所提供的子进程管理装置可执行本发明任意实施例所提供的子进程管理方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述系统所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
实施例四
图4是本发明实施例四提供的一种电子设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图4显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备12典型的是承担子进程管理功能的电子设备。
如图4所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,存储器28,连接不同组件(包括存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
电子设备12典型地包括多种计算机可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机装置可读介质,例如随机存取存储器(Random Access Memory,RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机存储介质。仅作为举例,存储装置34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品40,该程序产品40具有一组程序模块42,这些程序模块被配置以执行本发明各实施例的功能。程序产品40,可以存储在例如存储器28中,这样的程序模块42包括但不限于一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、鼠标、摄像头等和显示器)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网WideArea Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)装置、磁带驱动器以及数据备份存储装置等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的子进程管理方法,包括:
获取主进程待调用的初始命令脚本;
基于所述初始命令脚本确定各目标命令脚本,其中,所述目标命令脚本的个数与启动所述初始命令脚本后生成的子进程的个数相同,且,各所述目标命令脚本的脚本标识不同;
针对各所述目标命令脚本,基于所述目标命令脚本生成所述目标命令脚本对应的子进程。
当然,本领域技术人员可以理解,处理器还可以实现本发明任意实施例所提供的子进程管理方法的技术方案。
实施例五
本发明实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所提供的子进程管理方法步骤,该方法包括:
获取主进程待调用的初始命令脚本;
基于所述初始命令脚本确定各目标命令脚本,其中,所述目标命令脚本的个数与启动所述初始命令脚本后生成的子进程的个数相同,且,各所述目标命令脚本的脚本标识不同;
针对各所述目标命令脚本,基于所述目标命令脚本生成所述目标命令脚本对应的子进程。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种子进程管理方法,其特征在于,所述方法包括:
获取主进程待调用的初始命令脚本;
基于所述初始命令脚本确定各目标命令脚本,其中,所述目标命令脚本的个数与启动所述初始命令脚本后生成的子进程的个数相同,且,各所述目标命令脚本的脚本标识不同;
针对各所述目标命令脚本,基于所述目标命令脚本生成所述目标命令脚本对应的子进程。
2.根据权利要求1所述的方法,其特征在于,所述基于所述初始命令脚本确定各目标命令脚本,包括:
基于所述初始命令脚本对应的待产生的子进程的个数,对所述初始命令脚本进行复制处理,得到各目标命令脚本;
基于命名唯一规则生成各所述目标命令脚本对应的脚本标识。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取各所述子进程的进程标识信息;
确定各所述子进程的资源消耗情况、运行时长以及运行状态;
基于各所述进程标识信息、各所述资源消耗情况、各所述运行时长以及各所述运行状态,生成各所述子进程对应的子进程管理信息。
4.根据权利要求3所述的方法,其特征在于,所述获取各所述子进程的进程标识信息,包括:
获取各子进程查询命令,其中,所述子进程查询命令包括所述目标命令脚本的脚本标识;
针对各所述子进程查询命令,基于所述子进程查询命令确定所述子进程查询命令中的脚本标识对应的子进程的进程标识信息。
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标命令脚本生成所述目标命令脚本对应的子进程,包括:
基于所述目标命令脚本确定待传递参数;
基于所述待传递参数生成所述目标命令脚本对应的子进程。
6.根据权利要求1所述的方法,其特征在于,所述主进程包括一级父进程,所述子进程包括二级子任务。
7.根据权利要求6所述的方法,其特征在于,所述主进程还包括二级子任务,所述子进程还包括三级子任务。
8.一种子进程管理装置,其特征在于,所述装置包括:
脚本获取模块,用于获取主进程待调用的初始命令脚本;
脚本复制模块,用于基于所述初始命令脚本确定各目标命令脚本,其中,所述目标命令脚本的个数与启动所述初始命令脚本后生成的子进程的个数相同,且,各所述目标命令脚本的脚本标识不同;
进程生成模块,用于针对各所述目标命令脚本,基于所述目标命令脚本生成所述目标命令脚本对应的子进程。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的子进程管理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的子进程管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210006476.0A CN114385279A (zh) | 2022-01-05 | 2022-01-05 | 子进程管理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210006476.0A CN114385279A (zh) | 2022-01-05 | 2022-01-05 | 子进程管理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114385279A true CN114385279A (zh) | 2022-04-22 |
Family
ID=81200347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210006476.0A Pending CN114385279A (zh) | 2022-01-05 | 2022-01-05 | 子进程管理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114385279A (zh) |
-
2022
- 2022-01-05 CN CN202210006476.0A patent/CN114385279A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108537543B (zh) | 区块链数据的并行处理方法、装置、设备和存储介质 | |
CN107885762B (zh) | 智能大数据系统、提供智能大数据服务的方法和设备 | |
CN110297689B (zh) | 智能合约执行方法、装置、设备及介质 | |
US8185903B2 (en) | Managing system resources | |
CN101183379A (zh) | 用于检索数据的方法和系统 | |
US8584144B2 (en) | Determining the processing order of a plurality of events | |
US10025630B2 (en) | Operating programs on a computer cluster | |
JP2018084907A (ja) | ジョブ消費電力推定プログラム、並列処理装置およびジョブ消費電力推定方法 | |
US20080307505A1 (en) | Determining roles for automated tasks in a role-based access control environment | |
CN109871290B (zh) | 应用于Java的调用堆栈追踪方法、装置和存储介质 | |
CN110750291B (zh) | 边缘设备算法更新方法、系统、设备及存储介质 | |
EP2674859A2 (en) | Computing system, method for controlling thereof, and computer-readable recording medium having computer program for controlling thereof | |
US20070198697A1 (en) | Method of refactoring methods within an application | |
KR20200014378A (ko) | 직무 관리 | |
US20220179711A1 (en) | Method For Platform-Based Scheduling Of Job Flow | |
US8086997B2 (en) | Detecting aspectual behavior in unified modeling language artifacts | |
US9904470B2 (en) | Tracking ownership of memory in a data processing system through use of a memory monitor | |
CN114398179B (zh) | 一种跟踪标识的获取方法、装置、服务器及存储介质 | |
CN105718307A (zh) | 进程管理方法及进程管理装置 | |
CN113407973B (zh) | 软件功能权限管理方法、系统、服务器及存储介质 | |
CN114358742A (zh) | 一种工作流执行方法、装置、设备及存储介质 | |
US9858055B2 (en) | Optimization of meta-template instantiations | |
US10997057B2 (en) | Debugging asynchronous functions | |
CN114385279A (zh) | 子进程管理方法、装置、设备及介质 | |
CN115220908A (zh) | 资源调度方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |