CN106095602A - 控制进程运行的方法及装置 - Google Patents
控制进程运行的方法及装置 Download PDFInfo
- Publication number
- CN106095602A CN106095602A CN201610459431.3A CN201610459431A CN106095602A CN 106095602 A CN106095602 A CN 106095602A CN 201610459431 A CN201610459431 A CN 201610459431A CN 106095602 A CN106095602 A CN 106095602A
- Authority
- CN
- China
- Prior art keywords
- subprocess
- signal procedure
- control command
- parent process
- user program
- 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/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]
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 (12)
1.一种控制进程运行的方法,其特征在于,应用于处理器,所述方法包括:
通过父进程中的第一通信程序向由所述父进程创建的子进程发送控制命令;
通过所述子进程中的第二通信程序接收所述控制命令;
通过所述子进程中的用户程序执行所述控制命令。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述第二通信程序向所述第一通信程序发送所述子进程的状态信息。
3.根据权利要求1所述的方法,其特征在于,在所述通过所述子进程中的用户程序执行所述控制命令之后,所述方法还包括:
通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果。
4.根据权利要求1所述的方法,其特征在于,所述控制命令包括以下中的至少一者:暂停所述子进程、重启所述子进程、启动所述子进程、停止所述子进程。
5.根据权利要求2所述的方法,其特征在于,所述子进程的状态信息包括以下中的至少一者:所述子进程的运行状态、所述子进程占用的资源量、所述子进程执行所述控制命令的进度。
6.根据权利要求3所述的方法,其特征在于,所述控制命令包括获取满足预定条件的数据,所述通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果,包括:
根据所述预定条件,通过所述用户程序对所述执行结果进行筛选;
通过所述第二通信程序向所述第一通信程序发送筛选出的满足所述预定条件的数据。
7.一种控制进程运行的装置,其特征在于,应用于处理器,所述装置包括:
第一发送模块,用于通过父进程中的第一通信程序向由所述父进程创建的子进程发送控制命令;
接收模块,用于通过所述子进程中的第二通信程序接收所述控制命令;
执行模块,用于通过所述子进程中的用户程序执行所述控制命令。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于通过所述第二通信程序向所述第一通信程序发送所述子进程的状态信息。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第三发送模块,用于在所述通过所述子进程中的用户程序执行所述控制命令之后,通过所述第二通信程序向所述第一通信程序发送执行所述控制命令后生成的执行结果。
10.根据权利要求7所述的装置,其特征在于,所述控制命令包括以下中的至少一者:暂停所述子进程、重启所述子进程、启动所述子进程、停止所述子进程。
11.根据权利要求8所述的装置,其特征在于,所述子进程的状态信息包括以下中的至少一者:所述子进程的运行状态、所述子进程占用的资源量、所述子进程执行所述控制命令的进度。
12.根据权利要求9所述的装置,其特征在于,所述控制命令包括获取满足预定条件的数据,所述第三发送模块包括:
筛选子模块,用于根据所述预定条件,通过所述用户程序对所述执行结果进行筛选;
发送子模块,用于通过所述第二通信程序向所述第一通信程序发送筛选出的满足所述预定条件的数据。
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 true CN106095602A (zh) | 2016-11-09 |
CN106095602B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740342A (zh) * | 2018-12-20 | 2019-05-10 | 深圳市网心科技有限公司 | 获取shell执行权限的方法、系统、计算机装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1289962A (zh) * | 1999-09-23 | 2001-04-04 | 国际商业机器公司 | 在多线程计算环境中建立跨越多个进程的通信程序 |
CN103631664A (zh) * | 2013-12-09 | 2014-03-12 | 北京奇虎科技有限公司 | 一种进程间的通信方法和装置 |
CN104468766A (zh) * | 2014-12-01 | 2015-03-25 | 中国科学院等离子体物理研究所 | 一种软件运行状态的远程监控方法 |
-
2016
- 2016-06-22 CN CN201610459431.3A patent/CN106095602B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1289962A (zh) * | 1999-09-23 | 2001-04-04 | 国际商业机器公司 | 在多线程计算环境中建立跨越多个进程的通信程序 |
CN103631664A (zh) * | 2013-12-09 | 2014-03-12 | 北京奇虎科技有限公司 | 一种进程间的通信方法和装置 |
CN104468766A (zh) * | 2014-12-01 | 2015-03-25 | 中国科学院等离子体物理研究所 | 一种软件运行状态的远程监控方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109740342A (zh) * | 2018-12-20 | 2019-05-10 | 深圳市网心科技有限公司 | 获取shell执行权限的方法、系统、计算机装置及存储介质 |
CN109740342B (zh) * | 2018-12-20 | 2021-08-06 | 深圳市网心科技有限公司 | 获取shell执行权限的方法、系统、计算机装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106095602B (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5519718B2 (ja) | システムオンチップ基盤のパケットフィルタリングを提供できるデバイス及びパケットフィルタリング方法 | |
RU2020104351A (ru) | Аппаратура связи и способ связи | |
EP1402685A4 (en) | METHOD AND DEVICE FOR CONTROLLING MULTIPLE LOGIC DATA FLOW IN A VARIABLE DATA RATE ENVIRONMENT | |
CA2534279A1 (en) | Apparatus and method for controlling operational states of medium access control layer in a broadband wireless access communication system | |
DE60330826D1 (de) | Verfahren zur Speichersystemsteuerung und Speichersteuerungsvorrichtung | |
CN205256239U (zh) | 汽车网络管理系统和汽车 | |
DE60217097D1 (de) | Hybrides automatisches Wiederholungsaufforderungsprotokoll | |
CN106134151A (zh) | 用于在无线的车辆网络中进行授权的方法 | |
CN114390598A (zh) | Drx确定方法、装置、终端及可读存储介质 | |
CN106095602A (zh) | 控制进程运行的方法及装置 | |
CN103906209B (zh) | 功率节省方法、接入点设备和终端站点设备 | |
CN108307335A (zh) | 一种数据传输方法、装置及系统 | |
CN113099539A (zh) | 一种用于智慧矿山管理的大数据传输方法及系统 | |
CN116991142A (zh) | 基于模块化uds协议的汽车诊断服务方法及系统 | |
CN106792859A (zh) | 一种数据传输方法、服务器及控制器 | |
WO2022213982A1 (zh) | 配置方法、装置及设备 | |
CN105785854A (zh) | 主从式系统的控制方法和主从式系统 | |
CN102938733A (zh) | 报文的转发方法及其路由设备、识别设备 | |
CN104219178A (zh) | 基于Openflow控制报文处理方法、发送装置、接收装置和系统 | |
CN102377597B (zh) | 网络装置及其参数设定方法 | |
CN113873465A (zh) | 信息处理方法、装置及终端 | |
CN110745084A (zh) | 一种用于智能汽车的多媒体系统中间件设计方法 | |
CN112947271B (zh) | 基于物联网的plc子站无线控制方法及系统 | |
CN110816435A (zh) | 一种远程控制车辆的方法及装置 | |
CN106464655B (zh) | 用于将具有受控制的安全性的通信网络互连的装置 |
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 |