CN106095602B - 控制进程运行的方法及装置 - Google Patents
控制进程运行的方法及装置 Download PDFInfo
- Publication number
- CN106095602B CN106095602B CN201610459431.3A CN201610459431A CN106095602B CN 106095602 B CN106095602 B CN 106095602B CN 201610459431 A CN201610459431 A CN 201610459431A CN 106095602 B CN106095602 B CN 106095602B
- Authority
- CN
- China
- Prior art keywords
- subprocess
- signal procedure
- control command
- parent process
- predetermined condition
- 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.)
- Active
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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- 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/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种控制进程运行的方法及装置。所述方法包括:通过父进程中的第一通信程序向由所述父进程创建的子进程发送控制命令;通过所述子进程中的第二通信程序接收所述控制命令;通过所述子进程中的用户程序执行所述控制命令。采用本发明提供的控制进程运行的方法,父进程与子进程之间的交互不再通过InputStream和OutputStream实现,而是通过第一通信程序与第二通信程序实现,在第一通信程序与第二通信程序之间可以传输各种形式的数据,不再固定为在InputStream和OutputStream之间传输的字符串,因此,父进程和子进程无需进行文本字符解析。优化了父进程与子进程之间的交互。
Description
技术领域
本发明涉及通信技术领域,具体地,涉及一种控制进程运行的方法及装置。
背景技术
进程是处理器正在执行的程序。一个进程可以创建子进程,已创建子进程的进程为父进程。父进程与子进程之间的交互过程是:父进程通过InputStream来读取子进程的输出字符串,通过OutputStream向子进程输入字符串以控制子进程启动或停止,父进程控制子进程启动后,待子进程被执行完成之后,通过对子进程输出的字符串进行文本字符解析,获得子进程的执行结果。
发明内容
本发明的目的是提供一种控制进程运行的方法及装置,用以优化父进程与子进程之间的交互。
为了实现上述目的,本发明第一方面提供一种控制进程运行的方法,应用于处理器,所述方法包括:
通过父进程中的第一通信程序向由所述父进程创建的子进程发送控制命令;
通过所述子进程中的第二通信程序接收所述控制命令;
通过所述子进程中的用户程序执行所述控制命令。
可选地,所述方法还包括:
通过所述第二通信程序向所述第一通信程序发送所述子进程的状态信息。
可选地,在所述通过所述子进程中的用户程序执行所述控制命令之后,所述方法还包括:
通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果。
可选地,所述控制命令包括以下中的至少一者:暂停所述子进程、重启所述子进程、启动所述子进程、停止所述子进程。
可选地,所述子进程的状态信息包括以下中的至少一者:所述子进程的运行状态、所述子进程占用的资源量、所述子进程执行所述控制命令的进度。
可选地,所述控制命令包括获取满足预定条件的数据,所述通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果,包括:
根据所述预定条件,通过所述用户程序对所述执行结果进行筛选;
通过所述第二通信程序向所述第一通信程序发送筛选出的满足所述预定条件的数据。
本发明第二方面提供一种控制进程运行的装置,应用于处理器,所述装置包括:
第一发送模块,用于通过父进程中的第一通信程序向由所述父进程创建的子进程发送控制命令;
接收模块,用于通过所述子进程中的第二通信程序接收所述控制命令;
执行模块,用于通过所述子进程中的用户程序执行所述控制命令。
可选地,所述装置还包括:
第二发送模块,用于通过所述第二通信程序向所述第一通信程序发送所述子进程的状态信息。
可选地,所述装置还包括:
第三发送模块,用于在所述通过所述子进程中的用户程序执行所述控制命令之后,通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果。
可选地,所述控制命令包括以下中的至少一者:暂停所述子进程、重启所述子进程、启动所述子进程、停止所述子进程。
可选地,所述子进程的状态信息包括以下中的至少一者:所述子进程的运行状态、所述子进程占用的资源量、所述子进程执行所述控制命令的进度。
可选地,所述控制命令包括获取满足预定条件的数据,所述第三发送模块包括:
筛选子模块,用于根据所述预定条件,通过所述用户程序对所述执行结果进行筛选;
发送子模块,用于通过所述第二通信程序向所述第一通信程序发送筛选出的满足所述预定条件的数据。
通过上述技术方案,父进程与子进程之间的交互不再通过InputStream和OutputStream实现,而是通过第一通信程序与第二通信程序实现,在第一通信程序与第二通信程序之间可以传输各种形式的数据,不再固定为在InputStream和OutputStream之间传输的字符串,因此,父进程和子进程无需进行文本字符解析。优化了父进程与子进程之间的交互。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的一种控制进程运行的方法的流程图;
图2是本发明实施例提供的父进程与子进程组成的通信系统的示意图;
图3为本发明实施例提供的一种控制进程运行的方法的另一流程图;
图4为本发明实施例提供的一种控制进程运行的装置的框图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
为优化父进程与子进程之间的交互,使得父进程对子进程的控制不限于启动和停止,并使得父进程可以实时检测子进程的运行状态,本发明实施例提供了一种控制进程运行的方法。
请参考图1,图1为本发明实施例提供的一种控制进程运行的方法的流程图,应用于处理器,所述方法包括以下步骤:
步骤S11:通过父进程中的第一通信程序向由所述父进程创建的子进程发送控制命令;
步骤S12:通过所述子进程中的第二通信程序接收所述控制命令;
步骤S13:通过所述子进程中的用户程序执行所述控制命令。
如图2所示,本发明实施例中,子进程除包括用户程序外,在子进程中增加了第二通信程序,相应地,在父进程中增加了第一通信程序,父进程与子进程之间的通信通过第一通信程序与第二通信程序之间的交互实现。处理器控制父进程中的第一通信程序向子进程发送控制命令,相应地,控制子进程中的第二通信程序接收控制命令。接着,控制子进程中的用户程序执行第二通信程序接收到的控制命令。
采用上述技术方案,父进程与子进程之间的交互不再通过InputStream和OutputStream实现,而是通过第一通信程序与第二通信程序实现,在第一通信程序与第二通信程序之间可以传输各种形式的数据,不再固定为在InputStream和OutputStream之间传输的字符串,因此,父进程和子进程无需进行文本字符解析。优化了父进程与子进程之间的交互。
可选地,所述控制命令包括以下中的至少一者:暂停所述子进程、重启所述子进程、启动所述子进程、停止所述子进程。
由于父进程与子进程之间的通信通过第一通信程序与第二通信程序之间的交互实现,所以可以对第一通信程序和第二通信程序进行设置,进而使得父进程可以向子进程发送各种控制命令,包括:暂停子进程、重启子进程、启动子进程、停止子进程。可选地,父进程还可以向子进程发送其它扩展命令,包括:锁定子进程、控制子进程进入睡眠状态、唤醒子进程、查询子进程的状态信息等。
采用上述技术方案,借助于由第一通信程序和第二通信程序所形成的通信通道,父进程对子进程的控制更加灵活多变,不再局限于启动和停止。
可选地,本发明实施例提供的控制进程的方法还包括:
通过所述第二通信程序向所述第一通信程序发送所述子进程的状态信息。
可选地,父进程也可以通过第一通信程序查询子进程的状态信息,然后子进程通过第二通信程序向父进程发送子进程的状态信息。
可选地,所述子进程的状态信息包括以下中的至少一者:所述子进程的运行状态、所述子进程占用的资源量、所述子进程执行所述控制命令的进度。
由于父进程与子进程之间存在由第一通信程序和第二通信程序所形成的通信通道,所以子进程可以通过第二通信程序主动地向父进程中的第一通信程序发送子进程的状态信息,以使得父进程获知子进程的状态信息。其中,状态信息包括:子进程的运行状态、子进程占用的资源量、子进程执行父进程发送的控制命令的进度等。
采用上述技术方案,借助于由第一通信程序和第二通信程序所形成的通信通道,子进程可以主动向父进程上报子进程的状态信息。父进程也可以实时获取子进程的状态信息。
可选地,如图3所示,在所述步骤S13之后,所述方法还包括:
步骤S14:通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果。
在执行完步骤S12之后,子进程中的用户程序执行父进程发送的控制命令,进而生成执行结果。子进程所生成的执行结果可以通过第二通信程序发送给父进程中的第一通信程序,使得父进程获知子进程执行控制命令后生成的执行结果。由于执行结果是通过父进程与子进程之间的由第一通信程序和第二通信程序所形成的通信通道传输,所以执行结果可以以各种形式被传输,不必固定为字符串,父进程也无需进行文本字符解析。可选地,执行结果以对象的形式进行传输。
可选地,所述控制命令包括获取满足预定条件的数据,所述通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的结果,包括:
根据所述预定条件,通过所述用户程序对所述执行结果进行筛选;
通过所述第二通信程序向所述第一通信程序发送筛选出的满足所述预定条件的数据。
为了提高传输效率,节约传输资源,父进程向子进程发送的控制命令可以是获取满足预定条件的数据,则在通过子进程的用户程序执行父进程向子进程发送的控制命令后,对生成的执行结果进行筛选,筛选出满足预定条件的数据,然后通过第二通信程序发送给第一通信程序。
采用上述技术方案,在父进程与子进程之间传输的是子进程的执行结果中满足预定条件的数据,子进程不必将执行结果全部发给父进程,父进程可以获取子进程的执行结果中满足预定条件的数据,提高了传输效率,节约了传输资源。
基于同一发明构思,本发明实施例还提供了一种控制进程运行的装置,应用于处理器,如图4所示,所述装置100包括:
第一发送模块121,用于通过父进程中的第一通信程序向由所述父进程创建的子进程发送控制命令;
接收模块122,用于通过所述子进程中的第二通信程序接收所述控制命令;
执行模块123,用于通过所述子进程中的用户程序执行所述控制命令。
可选地,所述装置还包括:
第二发送模块,用于通过所述第二通信程序向所述第一通信程序发送所述子进程的状态信息。
可选地,所述装置还包括:
第三发送模块,用于在所述通过所述子进程中的用户程序执行所述控制命令之后,通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果。
可选地,所述控制命令包括以下中的至少一者:暂停所述子进程、重启所述子进程、启动所述子进程、停止所述子进程。
可选地,所述子进程的状态信息包括以下中的至少一者:所述子进程的运行状态、所述子进程占用的资源量、所述子进程执行所述控制命令的进度。
可选地,所述控制命令包括获取满足预定条件的数据,所述第三发送模块包括:
筛选子模块,用于根据所述预定条件,通过所述用户程序对所述执行结果进行筛选;
发送子模块,用于通过所述第二通信程序向所述第一通信程序发送筛选出的满足所述预定条件的数据。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (8)
1.一种控制进程运行的方法,其特征在于,应用于处理器,所述方法包括:
通过父进程中的第一通信程序向由所述父进程创建的子进程发送控制命令;
通过所述子进程中的第二通信程序接收所述控制命令;
通过所述子进程中的用户程序执行所述控制命令;
通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果;
其中,所述控制命令包括获取满足预定条件的数据,所述通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果,包括:
根据所述预定条件,通过所述用户程序对所述执行结果进行筛选;
通过所述第二通信程序向所述第一通信程序发送筛选出的满足所述预定条件的数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述第二通信程序向所述第一通信程序发送所述子进程的状态信息。
3.根据权利要求1所述的方法,其特征在于,所述控制命令包括以下中的至少一者:暂停所述子进程、重启所述子进程、启动所述子进程、停止所述子进程。
4.根据权利要求2所述的方法,其特征在于,所述子进程的状态信息包括以下中的至少一者:所述子进程的运行状态、所述子进程占用的资源量、所述子进程执行所述控制命令的进度。
5.一种控制进程运行的装置,其特征在于,应用于处理器,所述装置包括:
第一发送模块,用于通过父进程中的第一通信程序向由所述父进程创建的子进程发送控制命令;
接收模块,用于通过所述子进程中的第二通信程序接收所述控制命令;
执行模块,用于通过所述子进程中的用户程序执行所述控制命令;
第二发送模块,用于在所述通过所述子进程中的用户程序执行所述控制命令之后,通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果;
其中,所述控制命令包括获取满足预定条件的数据,所述第二发送模块包括:
筛选子模块,用于根据所述预定条件,通过所述用户程序对所述执行结果进行筛选;
发送子模块,用于通过所述第二通信程序向所述第一通信程序发送筛选出的满足所述预定条件的数据。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第三发送模块,用于通过所述第二通信程序向所述第一通信程序发送所述子进程的状态信息。
7.根据权利要求5所述的装置,其特征在于,所述控制命令包括以下中的至少一者:暂停所述子进程、重启所述子进程、启动所述子进程、停止所述子进程。
8.根据权利要求6所述的装置,其特征在于,所述子进程的状态信息包括以下中的至少一者:所述子进程的运行状态、所述子进程占用的资源量、所述子进程执行所述控制命令的进度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610459431.3A CN106095602B (zh) | 2016-06-22 | 2016-06-22 | 控制进程运行的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610459431.3A CN106095602B (zh) | 2016-06-22 | 2016-06-22 | 控制进程运行的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095602A CN106095602A (zh) | 2016-11-09 |
CN106095602B true CN106095602B (zh) | 2019-07-26 |
Family
ID=57238623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610459431.3A Active CN106095602B (zh) | 2016-06-22 | 2016-06-22 | 控制进程运行的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106095602B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740342B (zh) * | 2018-12-20 | 2021-08-06 | 深圳市网心科技有限公司 | 获取shell执行权限的方法、系统、计算机装置及存储介质 |
CN113721933B (zh) * | 2020-05-25 | 2024-08-23 | 奇安信网神信息技术(北京)股份有限公司 | 针对应用程序的数据处理方法、装置、计算设备以及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6782537B1 (en) * | 1999-09-23 | 2004-08-24 | International Business Machines Corporation | Establishing a communicator across multiple processes in a multithreaded computing environment |
CN103631664B (zh) * | 2013-12-09 | 2016-09-28 | 北京奇虎科技有限公司 | 一种进程间的通信方法和装置 |
CN104468766A (zh) * | 2014-12-01 | 2015-03-25 | 中国科学院等离子体物理研究所 | 一种软件运行状态的远程监控方法 |
-
2016
- 2016-06-22 CN CN201610459431.3A patent/CN106095602B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106095602A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110892775B (zh) | 在无线通信系统中发送和接收物理下行链路共享信道的方法及其装置 | |
CN112715045A (zh) | 用于在支持窄带物联网的无线通信系统中传送上行链路数据的方法及其装置 | |
CN106095602B (zh) | 控制进程运行的方法及装置 | |
CN112715046A (zh) | 用于在支持窄带物联网系统的无线通信系统中通过使用预配置上行链路资源传送上行链路数据的方法及其设备 | |
US11838239B2 (en) | Method for receiving HARQ-ACK feedback in wireless communication system, and device therefor | |
CN112567674B (zh) | 改进lte mtc下行链路控制信道的传输和接收性能的方法及其装置 | |
US20210329533A1 (en) | Cell access method of terminal in wireless communication system, and apparatus therefor | |
CN112567701A (zh) | 在无线通信系统中由终端估计信道的方法及其装置 | |
CN113439476A (zh) | 在无线通信系统中通过预配置的上行链路资源发送上行链路数据的方法及其装置 | |
RU2011141076A (ru) | Применение простого протокола сетевого управления (snmp) для управления устройствами с малыми величинами памяти | |
CN102419900A (zh) | 电器设备的遥控实现方法和装置 | |
CN109392059B (zh) | 网络的选择方法、配置方法、终端设备及网络侧设备 | |
EP3793287A1 (en) | Resource determination and receiving methods, apparatus, network device and terminal | |
CN105430646B (zh) | ZigBee设备组网实现的方法和装置、ZigBee设备组网的系统 | |
US20200089172A1 (en) | Electronic apparatus and operation method thereof | |
CN106627484A (zh) | 用于安全控制车辆操作的方法、装置和系统 | |
CN107926027A (zh) | 在无线通信系统中基于突发的传输调度 | |
CN104320689A (zh) | 遥控器及终端控制方法 | |
KR101599032B1 (ko) | 모니터링 정보 제공 장치 및 방법 | |
CN110816435A (zh) | 一种远程控制车辆的方法及装置 | |
CN108306757B (zh) | 可编程数据平面虚拟层构建方法及存储介质 | |
CN114760679B (zh) | 非连续接收drx配置切换的方法、装置及终端 | |
CN104104969B (zh) | 一种视频截取方法及装置 | |
CN114697355B (zh) | 一种数据处理方法及物联网网关设备 | |
CN104219178A (zh) | 基于Openflow控制报文处理方法、发送装置、接收装置和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |