CN109408158A - 子进程随父进程退出的方法及装置、存储介质及电子设备 - Google Patents
子进程随父进程退出的方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN109408158A CN109408158A CN201811312560.5A CN201811312560A CN109408158A CN 109408158 A CN109408158 A CN 109408158A CN 201811312560 A CN201811312560 A CN 201811312560A CN 109408158 A CN109408158 A CN 109408158A
- Authority
- CN
- China
- Prior art keywords
- subprocess
- parent process
- monitoring
- monitoring script
- script
- 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.)
- Granted
Links
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- 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
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种子进程随父进程退出的方法,包括:触发预先创建的监控脚本,对父进程进行监控;当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。本发明提供的方法中,对于父进程通过执行第三方程序生成的子进程,当监控到父进程退出时,确定所述子进程是否一同退出,在子进程未退出的情况下,控制所述子进程随父进程一同退出,进而实现了父进程异常退出时,子进程能够随父进程及时退出,满足系统一致性要求。
Description
技术领域
本发明涉及操作系统领域,特别涉及一种子进程随父进程退出的方法及装置、存储介质及电子设备。
背景技术
在unix及类unix系统下,系统在执行某项操作时,会启用某个守护进程,该守护进程创建一个或多个子进程后,该守护进程作为各个子进程的父进程,协同各个子进程进行数据处理,以实现该操作的执行。在执行操作的过程中,由于一些异常情况的产生,会导致父进程异常退出,而此时系统内核并不会终止子进程的运行,然而在一些特殊情况下,我们希望父进程异常退出时,子进程能够一并退出以满足系统一致性要求。
现有在父进程异常退出时,对于父进程通过调用Exec函数组来执行第三方命令而生成的子进程,在确保这类子进程能够一并退出的过程中,一般采用在父进程中捕获父进程退出信号的方式,在捕获到父进程的退出信号时,通过信号处理程序终止子进程。发明人对上述过程进行研究发现,在实际捕获父进程的退出信号时,并不是所有的退出信号均能够被捕获,导致在退出信号未被捕获时,子进程不能够及时随父进程的退出而退出。
发明内容
本发明所要解决的技术问题是提供一种子进程随父进程退出的方法,能够在父进程异常退出时,对仍在运行的父进程的子进程进行及时退出,满足系统一致性要求。
本发明还提供了一种子进程随父进程退出的装置,用以保证上述方法在实际中的实现及应用。
一种子进程随父进程退出的方法,包括:
触发预先创建的监控脚本,对父进程进行监控;
当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;
当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。
上述的方法,可选的,所述监控脚本的创建过程,包括:
在所述父进程对应的进程文件中生成所述监控脚本,并赋予所述进程文件对所述监控脚本的执行权限,以实现所述监控脚本在所述父进程中的创建;所述进程文件的文件名为所述父进程的进程名与所述父进程的进程号的组合。
上述的方法,可选的,所述触发预先创建的监控脚本,对父进程进行监控,包括:
调用Crontab命令;
通过所述Crontab命令触发所述预先创建的监控脚本,对父进程进行监控。
上述的方法,可选的,所述当监控到所述父进程退出时,确定所述父进程的子进程是否退出,包括:
当监控到所述父进程退出时,获取所述子进程的进程号,判断所述子进程的进程号是否存在于系统中;
当所述子进程的进程号未存在于所述系统中时,确定所述子进程已退出,否则,确定所述子进程未退出。
上述的方法,可选的,还包括:
对所述监控脚本的运行状态进行周期性监控,当监控到所述监控脚本未处于运行状态时,实时启动所述监控脚本。
上述的方法,可选的,还包括:
在触发所述监控脚本对所述父进程进行监控时,同时触发所述监控脚本对所述子进程进行监控,当监控到所述子进程退出时,获取所述子进程的退出状态,并将所述退出状态传递给所述父进程。
上述的方法,可选的,还包括:
当监控到所述父进程退出,且确定所述子进程退出时,结束对所述监控脚本运行状态的监控。
一种子进程随父进程退出的装置,包括:
触发单元,用于触发预先创建的监控脚本,对父进程进行监控;
确定单元,用于当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;
控制单元,用于当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。
上述的装置,可选的,还包括:
创建单元,用于在所述父进程对应的进程文件中生成所述监控脚本,并赋予所述进程文件对所述监控脚本的执行权限,以实现所述监控脚本在所述父进程中创建;所述进程文件的文件名为所述父进程的进程名与所述父进程的进程号的组合。
上述的装置,可选的,所述触发单元,包括:
调用子单元,用于调用Crontab命令;
触发子单元,用于通过所述Crontab命令触发所述预先创建的监控脚本,对父进程进行监控。
上述的装置,可选的,所述确定单元,包括:
判断子单元,用于当监控到所述父进程退出时,获取所述子进程的进程号,判断所述子进程的进程号是否存在于系统中;
确定子单元,用于当所述子进程的进程号未存在于所述系统中时,确定所述子进程已退出,否则,确定所述子进程未退出。
上述的装置,可选的,还包括:
监控单元,用于对所述监控脚本的运行状态进行周期性监控,当监控到所述监控脚本未处于运行状态时,实时启动所述监控脚本。
上述的装置,可选的,还包括:
获取单元,用于在触发所述监控脚本对所述父进程进行监控时,同时触发所述监控脚本对所述子进程进行监控,当监控到所述子进程退出时,获取所述子进程的退出状态,并将所述退出状态传递给所述父进程。
上述的装置,可选的,还包括:
终止单元,用于当监控到所述父进程退出,且确定所述子进程退出时,结束对所述监控脚本运行状态的监控。
一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行上述的子进程随父进程退出的方法。
一种电子设备,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的子进程随父进程退出的方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种子进程随父进程退出的方法,包括:触发预先创建的监控脚本,对父进程进行监控;当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。本发明提供的子进程随父进程退出的方法,通过监控脚本对父进程进行监控,在监控到父进程退出时,确定父进程的子进程是否退出,在父进程的子进程未退出时,控制监控脚本对父进程的未退出的子进程进行退出,实现了在父进程退出时,能够确保尚未退出的子进程能够随父进程一并退出,保证了子进程随父进程退出的及时性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种子进程随父进程退出的方法的方法流程图;
图2为本发明提供的一种子进程随父进程退出的方法的又一方法流程图;
图3为本发明提供的一种子进程随父进程退出的装置的结构示意图;
图4为本发明提供的一种子进程随父进程退出的装置的又一结构示意图;
图5为本发明提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种子进程随父进程退出的方法,该方法可以应用在unix或类unix系统中,其执行主体可以为所述unix或类unix系统的系统服务器,图1示出了本发明实施例提供的子进程随父进程退出的方法的方法流程图,包括:
S101:触发预先创建的监控脚本,对父进程进行监控;
本发明实施例提供的方法中,父进程在运行过程中,当需要执行第三方程序生成子进程时,父进程先创建一个或多个监控脚本,对应一个或多个将要运行的子进程。子进程运行时,触发预先创建的监控脚本,对所述父进程的运行状态进行监控。
S102:当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;
本发明实施例提供的方法中,当所述监控脚本监控到所述父进程退出时,确定所述父进程通过执行第三方程序而生成的子进程是否退出;
S103:当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。
当确定所述子进程未退出时,控制所述监控脚本对所述子进程进行强制退出。
本发明实施例提供的方法中,对于unix及类unix系统中,父进程通过调用exec函数组执行第三方程序,而生成的子进程,具体针对每一个子进程,在父进程中对应的创建监控脚本,由该监控脚本对父进程的运行状态进行监控,当监控到父进程退出时,确定子进程是否退出,当子进程未退出时,控制监控脚本对子进程进行退出。进而实现了,在父进程退出时,能够确保尚未退出的子进程能够随父进程一并退出。本发明实施例中,通过监控脚本对父进程进行实时监控,保证了子进程随父进程退出的及时性。
本发明实施例提供的方法中,父进程在需要执行第三方程序生成子进程时,预先创建一个或多个监控脚本,每个监控脚本可以对应一个子进程,也可以对应多个子进程。触发监控脚本对父进程进行监控,当父进程退出时,每个监控脚本确定其对应的各个子进程是否退出,对于未退出的子进程进行强制退出。
本发明实施例提供的方法中,所述触发预先创建的监控脚本,对父进程进行监控,包括:
调用Crontab命令;
通过所述Crontab命令触发所述预先创建的监控脚本,对父进程进行监控。
本发明实施例提供的方法中,为创建的每个监控脚本对应设置有Crontab命令,在需要触发监控脚本对父进程进行监控时,调用所述Crontab命令触发预先建立的监控脚本,对父进程进行监控。
本发明实施例提供的方法中,所述当监控到所述父进程退出时,确定所述父进程的子进程是否退出,包括:
当监控到所述父进程退出时,获取所述子进程的进程号,判断所述子进程的进程号是否存在于系统中;
当所述子进程的进程号未存在于所述系统中时,确定所述子进程已退出,否则,确定所述子进程未退出。
本发明实施例提供的方法中,所述监控脚本通过父进程传输的参数,获取所述父进程的进程号;所述监控脚本通过系统变量的方式获得每个子进程的进程号。当监控脚本监控到所述父进程退出时,通过判断获得的子进程的进程号是否存在于系统中以确定所述子进程是否退出。
本发明实施例提供的子进程随父进程退出的方法,在所述父进程中创建监控脚本,包括:
在所述父进程对应的进程文件中生成所述监控脚本,并赋予所述进程文件对所述监控脚本的执行权限,以实现所述监控脚本在所述父进程中的创建;所述进程文件的文件名为所述父进程的进程名与所述父进程的进程号的组合。
本发明实施例提供的方法中,在父进程中创建监控脚本的过程具体可以为,确定以父进程的进程名加进程号为文件名的进程文件,在所述进程文件中写入所述监控脚本,并赋予所述进程文件对所述监控脚本的执行权限,从而实现了所述监控脚本在所述父进程中的创建。
本发明实施例中,在父进程创建监控脚本的过程中,可以为父进程创建一个进程文件,将监控脚本写入到所述进程文件中,并赋予所述进程文件对所述监控脚本的执行权限。本发明实施例中所涉及的在父进程中创建监控脚本,可以理解为创建与父进程具有对应关系,或者相关联的监控脚本,所述监控脚本用于对父进程及子进程进行监控。
本发明实施例中,父进程在运行过程中,根据系统实际情况,可以创建多个不同的子进程,对于父进程通过调用exec函数组执行第三方程序而创建的子进程,在父进程相应的创建对应数量的监控脚本,每一个监控脚本,分别监控父进程的运行状态,并根据父进程的运行状态对其对应的子进程进行相应的控制。
本发明实施例提供的方法中,对所述监控脚本的运行状态进行周期性监控,当监控到所述监控脚本未处于运行状态时,实时启动所述监控脚本。
本发明实施例提供的方法中,在触发监控脚本对父进程进行监控后,本发明实施例中,还对所述监控脚本的运行状态进行周期性监控,当发现所述监控脚本在监控过程中未处于运行状态,如异常退出,或休眠态时,实时对未处于运行状态的监控脚本进行启动,继续对父进程进行监控。
本发明实施例提供的方法中,在触发所述监控脚本对所述父进程进行监控时,同时触发所述监控脚本对所述子进程进行监控,当监控到所述子进程退出时,获取所述子进程的退出状态,并将所述退出状态传递给所述父进程。
本发明实施例提供的监控脚本,在对父进程进行监控的同时,还对父进程调用第三方程序创建的子进程进行监控,当父进程仍在运行过程中,而子进程已经完成其所要执行的功能需要退出时,监控脚本获取所述子进程的退出状态,并将所述子进程的退出状态传递给所述父进程。
本发明实施例中,父进程可以创建多个子进程,例如当父进程创建子进程X和Y时,X和Y均是所述父进程执行第三方程序创建的子进程。在父进程中创建第一监控脚本与所述X相对应,创建第二监控脚本与所述Y相对应。本发明实施例中,所述父进程可以通过调用exec函数组执行第三方程序以创建子进程。
在父进程、X及Y运行过程中,当X对应的第一监控脚本监控到X完成任务需要退出时,此时父进程及Y处于运行状态,所述第一监控脚本获取所述X的退出状态并传递给所述父进程。当第二监控脚本监控到父进程退出,而Y依旧处于运行状态时,第二监控脚本控制所述Y强制退出。
本发明实施例提供的方法中,当监控到所述父进程退出,且确定所述子进程退出时,结束对所述监控脚本运行状态的监控。
本发明实施例提供的方法,当父进程退出,且父进程的各个子进程也均退出时,结束对监控脚本的监控。本发明实施例提供的方法,每一个子进程对应的监控脚本可以创建在与父进程具有对应的进程文件中,也可以创建在系统服务器设定的位置处,能够对父进程及子进程的运行状态进行监控即可。本发明实施例中,在结束对监控脚本的监控时,也可以对创建的进程文件进行删除。
参考图2,示出了本发明实施例提供的子进程随父进程退出的方法的又一方法流程图,对本发明实施例提供的方法进行系统性描述:
本发明实施例中,父进程在运行过程中,当需要调用exec函数组执行第三方程序时,父进程先创建一个或多个监控脚本,对应一个或多个将要运行的子进程,并将监控脚本写入到包含以父进程的进程名加进程号为文件名的进程文件中,所述父进程的进程名加进程号可以是进程名和进程号的任意形式的自由组合,可以添加数字及各种符号。
本发明实施例中,同时赋予所述进程文件对所述监控脚本的执行权限,并在crontab中增加一条任务,周期性判断监控脚本是否处于运行状态,当脚本退出时重新启动脚本。
本发明实施例中,在监控脚本中以后台方式运行用户期望父进程执行的第三方程序,并通过系统变量获取子进程的进程号。父进程传参的方式,获取父进程的进程号。本发明实施例中,监控脚本可以通过系统变量获取子进程的进程号,并通过判断子进程的进程号是否处于运行状态实现对子进程进行监控。
本发明实施例中,触发监控脚本对父进程及子进程进行监控,在监控脚本中周期判断父进程及子进程是否退出,当子进程退出时,获取子进程退出状态传递给父进程,同时退出循环。当父进程退出时,表示有异常发生,由监控脚本杀死子进程,同时退出循环。
本发明实施例中,以进程文件的文件名为关键字,删除crontab中的任务和文件,结束对子进程的监控。
本发明提供的子进程随父进程退出的方法,包括:在所述父进程中创建监控脚本,父进程通过监控脚本创建子进程,通过Crontab触发所述监控脚本实现对所述父进程进行监控,所述子进程为父进程通过监控脚本执行第三方程序而生成的子进程;监控脚本通过父进程传参,以及系统变量的方式获得父子进程的进程号。当监控脚本监控到所述父进程退出时,通过判断上述获得的子进程号是否存在于系统中确定所述子进程是否退出;当未退出时,控制所述监控脚本对所述子进程进行退出。当监控脚本监控到所述子进程退出时,获取子进程退出状态并传递给父进程。本发明提供的子进程随父进程退出的方法,当父进程通过执行第三方程序,而生成相应的子进程时,针对该子进程在父进程中创建监控脚本,应用该监控脚本对父进程进行监控,当监控到父进程退出,而子进程尚未退出时,控制所述监控脚本对所述子进程进行退出,进而实现在父进程异常退出时,子进程能够跟随父进程及时退出。
与图1所述的方法相对应的,本发明实施例还提供了一种子进程随父进程退出的装置,用于对图1中方法的具体实现,本发明实施例提供的进程退出装置可以应用在unix及类unix系统中,其结构示意图如图3所示,具体包括:
触发单元201,用于触发预先创建的监控脚本,对父进程进行监控;
确定单元202,用于当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;
控制单元203,用于当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。
本发明实施例提供的装置中,对于unix及类unix系统中,父进程通过调用exec函数组执行第三方程序,而生成的子进程,具体针对每一个子进程,在父进程中对应的创建监控脚本,由该监控脚本对父进程的运行状态进行监控,当监控到父进程退出时,确定子进程是否退出,当子进程未退出时,控制监控脚本对子进程进行退出。进而实现了,在父进程退出时,能够确保尚未退出的子进程能够随父进程一并退出。本发明实施例中,通过监控脚本对父进程进行实时监控,保证了子进程随父进程退出的及时性。
参考图4,示出了本发明实施例中子进程随父进程退出的装置的另一结构示意图,该装置中,还包括:
监控单元204,用于对所述监控脚本的运行状态进行周期性监控,当监控到所述监控脚本未处于运行状态时,实时启动所述监控脚本。
本发明实施例提供的子进程随父进程退出的装置,在图1的基础上,还包括:
创建单元,用于在所述父进程对应的进程文件中生成所述监控脚本,并赋予所述进程文件对所述监控脚本的执行权限,以实现所述监控脚本在所述父进程中创建;所述进程文件的文件名为所述父进程的进程名与所述父进程的进程号的组合。
本发明实施例提供的子进程随父进程退出的装置中,所述触发单元,包括:
调用子单元,用于调用Crontab命令;
触发子单元,用于通过所述Crontab命令触发所述预先创建的监控脚本,对父进程进行监控。
本发明实施例提供的子进程随父进程退出的装置中,所述确定单元,包括:
判断子单元,用于当监控到所述父进程退出时,获取所述子进程的进程号,判断所述子进程的进程号是否存在于系统中;
确定子单元,用于当所述子进程的进程号未存在于所述系统中时,确定所述子进程已退出,否则,确定所述子进程未退出。
本发明实施例提供的子进程随父进程退出的装置中,还包括:
获取单元,用于在触发所述监控脚本对所述父进程进行监控时,同时触发所述监控脚本对所述子进程进行监控,当监控到所述子进程退出时,获取所述子进程的退出状态,并将所述退出状态传递给所述父进程。
终止单元,用于当监控到所述父进程退出,且确定所述子进程退出时,结束对所述监控脚本运行状态的监控。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行上述子进程随父进程退出的方法,所述方法具体包括:
触发预先创建的监控脚本,对父进程进行监控;
当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;
当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。
上述的方法,可选的,所述监控脚本的创建过程,包括:
在所述父进程对应的进程文件中生成所述监控脚本,并赋予所述进程文件对所述监控脚本的执行权限,以实现所述监控脚本在所述父进程中的创建;所述进程文件的文件名为所述父进程的进程名与所述父进程的进程号的组合。
上述的方法,可选的,所述触发预先创建的监控脚本,对父进程进行监控,包括:
调用Crontab命令;
通过所述Crontab命令触发所述预先创建的监控脚本,对父进程进行监控。
上述的方法,可选的,所述当监控到所述父进程退出时,确定所述父进程的子进程是否退出,包括:
当监控到所述父进程退出时,获取所述子进程的进程号,判断所述子进程的进程号是否存在于系统中;
当所述子进程的进程号未存在于所述系统中时,确定所述子进程已退出,否则,确定所述子进程未退出。
上述的方法,可选的,还包括:
对所述监控脚本的运行状态进行周期性监控,当监控到所述监控脚本未处于运行状态时,实时启动所述监控脚本。
上述的方法,可选的,还包括:
在触发所述监控脚本对所述父进程进行监控时,同时触发所述监控脚本对所述子进程进行监控,当监控到所述子进程退出时,获取所述子进程的退出状态,并将所述退出状态传递给所述父进程。
上述的方法,可选的,还包括:
当监控到所述父进程退出,且确定所述子进程退出时,结束对所述监控脚本运行状态的监控。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器301,以及一个或者一个以上的程序302,其中一个或者一个以上程序302存储于存储器301中,且经配置以由一个或者一个以上处理器303执行所述一个或者一个以上程序302包含用于进行以下操作的指令:
触发预先创建的监控脚本,对父进程进行监控;
当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;
当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种子进程随父进程退出的方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种子进程随父进程退出的方法,其特征在于,包括:
触发预先创建的监控脚本,对父进程进行监控;
当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;
当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。
2.根据权利要求1所述的方法,其特征在于,所述监控脚本的创建过程,包括:
在所述父进程对应的进程文件中生成所述监控脚本,并赋予所述进程文件对所述监控脚本的执行权限,以实现所述监控脚本在所述父进程中创建;所述进程文件的文件名为所述父进程的进程名与所述父进程的进程号的组合。
3.根据权利要求1所述的方法,其特征在于,所述触发预先创建的监控脚本,对父进程进行监控,包括:
调用Crontab命令;
通过所述Crontab命令触发所述预先创建的监控脚本,对父进程进行监控。
4.根据权利要求1所述的方法,其特征在于,所述当监控到所述父进程退出时,确定所述父进程的子进程是否退出,包括:
当监控到所述父进程退出时,获取所述子进程的进程号,判断所述子进程的进程号是否存在于系统中;
当所述子进程的进程号未存在于所述系统中时,确定所述子进程已退出,否则,确定所述子进程未退出。
5.根据权利要求1所述的方法,其特征在于,还包括:
对所述监控脚本的运行状态进行周期性监控,当监控到所述监控脚本未处于运行状态时,实时启动所述监控脚本。
6.根据权利要求1所述的方法,其特征在于,还包括:
在触发所述监控脚本对所述父进程进行监控时,同时触发所述监控脚本对所述子进程进行监控,当监控到所述子进程退出时,获取所述子进程的退出状态,并将所述退出状态传递给所述父进程。
7.根据权利要求4所述的方法,其特征在于,还包括:
当监控到所述父进程退出,且确定所述子进程退出时,结束对所述监控脚本运行状态的监控。
8.一种子进程随父进程退出的装置,其特征在于,包括:
触发单元,用于触发预先创建的监控脚本,对父进程进行监控;
确定单元,用于当监控到所述父进程退出时,确定所述父进程的子进程是否退出;所述子进程为所述父进程执行第三方程序而生成的子进程;
控制单元,用于当所述子进程未退出时,控制所述监控脚本对所述子进程进行退出。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的设备执行如权利要求1~7任意一项所述的子进程随父进程退出的方法。
10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1~7任意一项所述的子进程随父进程退出的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811312560.5A CN109408158B (zh) | 2018-11-06 | 2018-11-06 | 子进程随父进程退出的方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811312560.5A CN109408158B (zh) | 2018-11-06 | 2018-11-06 | 子进程随父进程退出的方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109408158A true CN109408158A (zh) | 2019-03-01 |
CN109408158B CN109408158B (zh) | 2022-11-18 |
Family
ID=65471819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811312560.5A Active CN109408158B (zh) | 2018-11-06 | 2018-11-06 | 子进程随父进程退出的方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109408158B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984446A (zh) * | 2020-08-07 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种基于子进程的多控制器系统的运转方法和装置 |
CN112181544A (zh) * | 2020-11-27 | 2021-01-05 | 深圳开源互联网安全技术有限公司 | Java应用的运行方法、系统、装置及计算机可读存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477509A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | 一种进程自动恢复方法 |
US20040268317A1 (en) * | 2003-06-27 | 2004-12-30 | Eric Gouriou | Method and apparatus for controlling execution of a child process generated by a modified parent process |
CN104156298A (zh) * | 2014-08-19 | 2014-11-19 | 腾讯科技(深圳)有限公司 | 一种应用监控方法及装置 |
CN104714839A (zh) * | 2013-12-12 | 2015-06-17 | 腾讯科技(深圳)有限公司 | 一种控制进程生命期的方法和装置 |
CN104850394A (zh) * | 2015-04-17 | 2015-08-19 | 北京大学 | 分布式应用程序的管理方法和分布式系统 |
CN105068916A (zh) * | 2015-08-28 | 2015-11-18 | 福建六壬网安股份有限公司 | 一种基于内核hook的进程行为监控方法 |
CN105573890A (zh) * | 2015-12-15 | 2016-05-11 | 浪潮软件股份有限公司 | 一种守护服务器的进程的方法及装置 |
CN105793860A (zh) * | 2013-11-14 | 2016-07-20 | Inka安特沃客有限公司 | 反调试方法 |
CN106330523A (zh) * | 2015-07-03 | 2017-01-11 | 中国移动通信集团广西有限公司 | 一种集群服务器容灾系统、方法和服务器节点 |
CN106778098A (zh) * | 2015-11-24 | 2017-05-31 | 中国移动通信集团公司 | 一种安卓系统应用程序的保护方法和装置 |
WO2017160760A1 (en) * | 2016-03-15 | 2017-09-21 | Carbon Black, Inc. | System and method for reverse command shell detection |
CN108427553A (zh) * | 2018-03-30 | 2018-08-21 | 吉旗(成都)科技有限公司 | 一种基于IO多路复用的纯PHP web框架 |
CN108628670A (zh) * | 2018-04-26 | 2018-10-09 | 携程旅游信息技术(上海)有限公司 | 退出node应用的方法和系统 |
CN108733465A (zh) * | 2017-04-18 | 2018-11-02 | 北大方正集团有限公司 | 服务进程的控制方法、服务进程的控制装置和终端 |
-
2018
- 2018-11-06 CN CN201811312560.5A patent/CN109408158B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477509A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | 一种进程自动恢复方法 |
US20040268317A1 (en) * | 2003-06-27 | 2004-12-30 | Eric Gouriou | Method and apparatus for controlling execution of a child process generated by a modified parent process |
CN105793860A (zh) * | 2013-11-14 | 2016-07-20 | Inka安特沃客有限公司 | 反调试方法 |
CN104714839A (zh) * | 2013-12-12 | 2015-06-17 | 腾讯科技(深圳)有限公司 | 一种控制进程生命期的方法和装置 |
CN104156298A (zh) * | 2014-08-19 | 2014-11-19 | 腾讯科技(深圳)有限公司 | 一种应用监控方法及装置 |
CN104850394A (zh) * | 2015-04-17 | 2015-08-19 | 北京大学 | 分布式应用程序的管理方法和分布式系统 |
CN106330523A (zh) * | 2015-07-03 | 2017-01-11 | 中国移动通信集团广西有限公司 | 一种集群服务器容灾系统、方法和服务器节点 |
CN105068916A (zh) * | 2015-08-28 | 2015-11-18 | 福建六壬网安股份有限公司 | 一种基于内核hook的进程行为监控方法 |
CN106778098A (zh) * | 2015-11-24 | 2017-05-31 | 中国移动通信集团公司 | 一种安卓系统应用程序的保护方法和装置 |
CN105573890A (zh) * | 2015-12-15 | 2016-05-11 | 浪潮软件股份有限公司 | 一种守护服务器的进程的方法及装置 |
WO2017160760A1 (en) * | 2016-03-15 | 2017-09-21 | Carbon Black, Inc. | System and method for reverse command shell detection |
CN108733465A (zh) * | 2017-04-18 | 2018-11-02 | 北大方正集团有限公司 | 服务进程的控制方法、服务进程的控制装置和终端 |
CN108427553A (zh) * | 2018-03-30 | 2018-08-21 | 吉旗(成都)科技有限公司 | 一种基于IO多路复用的纯PHP web框架 |
CN108628670A (zh) * | 2018-04-26 | 2018-10-09 | 携程旅游信息技术(上海)有限公司 | 退出node应用的方法和系统 |
Non-Patent Citations (2)
Title |
---|
JÁN KAČUR 等: "Utilization of the PLC as a web server for remote monitoring of the technological process", 《THE PROCEEDINGS OF THE 14TH INTERNATIONAL CARPATHIAN CONTROL CONFERENCE (ICCC)》 * |
张志霞 等: "UNIX平台下的进程控制管理", 《信息化研究》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984446A (zh) * | 2020-08-07 | 2020-11-24 | 苏州浪潮智能科技有限公司 | 一种基于子进程的多控制器系统的运转方法和装置 |
CN112181544A (zh) * | 2020-11-27 | 2021-01-05 | 深圳开源互联网安全技术有限公司 | Java应用的运行方法、系统、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109408158B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Scheuner et al. | Cloud work bench--infrastructure-as-code based cloud benchmarking | |
CN108845954B (zh) | 压力测试方法、系统及存储介质 | |
CN103559445B (zh) | 一种应用程序交互控制方法及装置 | |
WO2017016212A1 (zh) | 桌面云系统的测试方法及装置 | |
CN105022659B (zh) | 虚拟机状态控制方法与系统 | |
US11568087B2 (en) | Contextual API captcha | |
WO2017193737A1 (zh) | 一种软件测试方法及系统 | |
US8312466B2 (en) | Restricting resources consumed by ghost agents | |
CN109408158A (zh) | 子进程随父进程退出的方法及装置、存储介质及电子设备 | |
US8938490B2 (en) | System and method for accessing mainframe system automation from a process automation application | |
CN107818028A (zh) | 一种计算机数据备份与还原方法 | |
WO2021021302A1 (en) | Secure investigations platform | |
CN113393213A (zh) | 一种创建群组的方法、计算机设备和存储介质 | |
Schlagkamp et al. | Understanding user behavior: from HPC to HTC | |
JP2003050707A (ja) | ウィンドウ・ベースのグラフィカル・イベントを処理する方法およびシステム | |
CN112052163A (zh) | 高并发网页压力测试方法、装置、电子设备以及存储介质 | |
CN106775920B (zh) | 对僵尸虚拟机的识别和移除 | |
US20160077948A1 (en) | Method and system for monitoring health of a virtual environment | |
CN111143177B (zh) | Ibm主机的rmf iii数据的收集方法、系统、装置及存储介质 | |
US20170060571A1 (en) | System and method for masking complexity in a heterogeneous development environment | |
JP6542397B2 (ja) | イメージ制作中のコンテンツテスト | |
CN113868097A (zh) | 云安全监测任务调度方法、系统、计算机及可读存储介质 | |
US10950328B2 (en) | Method, apparatus and system for detecting structural variations | |
CN109408336A (zh) | 一种启动项监控方法、装置、终端及计算机可读介质 | |
CN112202724A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |