CN106776206A - 监听进程状态的方法、装置及电子设备 - Google Patents
监听进程状态的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN106776206A CN106776206A CN201611097914.XA CN201611097914A CN106776206A CN 106776206 A CN106776206 A CN 106776206A CN 201611097914 A CN201611097914 A CN 201611097914A CN 106776206 A CN106776206 A CN 106776206A
- Authority
- CN
- China
- Prior art keywords
- application process
- auxiliary
- main
- main application
- monitoring
- 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
Classifications
-
- 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
- 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
Abstract
本发明公开了一种监听进程状态的方法、装置及电子设备,该方法包括:主应用进程和辅应用进程互相监听对方的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程;若所述主应用进程或所述辅应用进程监听到对方运行异常,则所述主应用进程和所述辅应用进程中运行正常的应用进程重启运行异常的应用进程。这样可以及时的检测到应用进程发生异常,并通过运行正常的应用进程重启运行异常的应用进程,进而可以及时的恢复应用程序的运行,能够避免终端无法及时接收消息或无法接收消息的情况。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种监听进程状态的方法、装置及电子设备。
背景技术
当前,终端上会安装有各功能的应用程序,一个终端往往要同时运行多个应用程序,运行应用程序实际上就是运行该应用程序对应的应用进程。其中,每一应用程序对应一个应用进程,整个应用程序的生命周期由其对应的应用进程的生命周期决定。
本发明的发明人在研究中发现,当在同时运行多个应用程序的过程中,终端的负载量会增加,进而也就增加了应用程序运行异常的概率。应用程序对应的应用进程的生命周期很可能异常结束,进而导致应用程序的生命周期也随之异常结束。随着应用程序的生命周期的异常结束还会伴随诸多问题出现,例如,由于终端需要按照接收到的消息来执行相应的操作,一旦应用程序的生命周期结束,会导致消息接收不及时或者无法接收消息的情况。
发明内容
本发明实施例提供一种监听进程状态的方法、装置及电子设备,旨在解决由于应用程序的生命周期结束而导致的诸多问题,如消息接收不及时或者无法接收消息的问题。
本发明实施例提供的一种监听进程状态的方法,包括:主应用进程和辅应用进程互相监听对方的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程;若所述主应用进程或所述辅应用进程监听到对方运行异常,则所述主应用进程和所述辅应用进程中运行正常的应用进程重启运行异常的应用进程。
可选的,所述主应用进程和辅应用进程互相监听对方的运行状态,包括:所述主应用进程和辅应用进程利用心跳机制相互监听对方的运行状态。
可选的,所述主应用进程和辅应用进程利用心跳机制相互监听对方的运行状态,包括:
所述主应用进程每隔预置的第一时间间隔,向所述辅应用进程发送第一监听信息;
所述辅应用进程每隔预置的第二时间间隔,向所述主应用进程发送第二监听信息。
可选的,所述主应用进程和辅应用进程通过如下方式确定对方是否运行异常:
若在第一预置时长内,所述辅应用进程未接收到所述主应用进程发送的所述第一监听信息,则确定所述主应用进程运行异常;
若在第二预置时长内,所述主应用进程未接收到所述辅应用进程发送的所述第二监听信息,则确定所述辅应用进程运行异常。
可选的,所述辅应用进程只负责监听所述主应用进程。
本发明实施例还提供的一种监听进程状态的装置,监听模块,运行于主应用进程和辅应用进程中,用于监听与所在的应用进程归属同一个应用程序的应用进程的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程;重启模块,运行于主应用进程和辅应用进程中,用于若所述监听模块监听到与所在的应用进程归属同一个应用程序的应用进程运行异常,则重启运行异常的应用进程。
可选的,所述监听模块进一步用于,利用心跳机制监听与所在的应用进程归属同一个应用程序的应用进程的运行状态。
可选的,运行在所述主应用进程中的所述监听模块进一步用于,每隔预置的第一时间间隔,向所述辅应用进程发送第一监听信息;运行在所述辅应用进程中的所述监听模块进一步用于,每隔预置的第二时间间隔,向所述主应用进程发送第二监听信息。
可选的,运行在所述辅应用进程中的所述重启模块进一步用于,若在第一预置时长内,所述辅应用进程未接收到所述主应用进程发送的所述第一监听信息,则确定所述主应用进程运行异常;运行在所述主应用进程中的所述重启模块进一步用于,若在第二预置时长内,所述主应用进程未接收到所述辅应用进程发送的所述第二监听信息,则确定所述辅应用进程运行异常。
可选的,所述辅应用进程只负责监听所述主应用进程的运行状态。
本发明实施例还提供的一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-5中任一项所述的方法。
本发明实施例提供的监听进程状态的方法、装置及电子设备,开发者预先在终端配置用于监听主应用进程运行状态的辅应用进程,主应用进程和所述辅应用进程相互监听对方的运行状态,其中所述主应用进程和所述辅应用进程为一个应用程序的应用进程;若所述主应用进程或所述辅应用进程中的一个应用进程运行异常,则运行正常的另一个应用进程重启运行异常的应用进程,这样可以及时的检测到主应用进程发生异常,并通过运行正常的辅应用进程重启运行异常的主应用进程,进而可以及时的恢复应用程序的运行,能够避免终端无法及时接收消息或无法接收消息的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1是本发明第一实施例提供的监听进程状态的方法的实现流程示意图;
图2是本发明第二实施例提供的监听进程状态的方法的实现流程示意图;
图3是本发明第三实施例提供的监听进程状态的装置的结构示意图;
图4是本发明第四实施例提供的监听进程状态的装置的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明第一实施例提供的监听进程状态的方法的实现流程示意图,可应用于手机、计算机等可运行应用程序的终端中。图1所示的基于图像的监听进程状态的方法,主要包括以下步骤:
S101、开发人员预先在终端配置用于监听主应用进程运行状态的辅应用进程。
进程(Process)是计算机中的程序关于数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在现有技术中,一个应用程序均对应一个应用进程,该应用进程用于运行该应用程序中的数据,本发明实施例中,是将这类应用进程作为该应用程序的主应用进程,然后为该主应用进程配置可以监听该主应用进程的运行状态的辅应用进程,并且该主应用进程也监听该辅应用进程的运行状态。也就是说,在本发明实施例中,一个应用程序对应两个应用进程,即主应用进程和辅应用进程。在本发明实施例中,需要说明的是,该辅应用进程可以只负责运行监听该主应用进程的程序,当然,其也可以具有与主应用进程相同的职责。
这里,终端可以按照开发人员的指令,设置用于监听主应用进程运行状态的辅应用进程。该开发人员的指令可以通过输入设备,如键盘、鼠标、手写板等传输给该终端。
S102、主应用进程和该辅应用进程相互监听对方的运行状态。
主应用进程和该辅应用进程可以利用心跳机制相互监听对方的运行状态。例如,终端控制该主应用进程向辅应用进程发送监听信息,并控制该辅应用进程向该主应用进程发送监听信息,这样根据发送的监听信息,该辅应用进程可以监听该主应用进程的运行状态,该主应用进程可以监听该辅应用进程的运行状态。
S103、若该主应用进程或该辅应用进程监听到对方运行异常,则主应用进程和辅应用进程中运行正常的应用进程重启运行异常的应用进程。
当该主应用进程运行异常时,运行正常的该辅应用进程重启运行异常的该主应用进程;当该辅应用进程运行异常时,控制运行正常的该主应用进程重启运行异常的该辅应用进程。
本发明实施例中,开发者预先在终端上配置监听主应用进程运行状态的辅应用进程;所述主应用进程和所述辅应用进程相互监听对方的运行状态,其中所述主应用进程和所述辅应用进程为一个应用程序的应用进程;若所述主应用进程或所述辅应用进程中的一个应用进程运行异常,则运行正常的另一个应用进程重启运行异常的应用进程,这样可以及时的检测到主应用进程发生异常,并通过运行正常的辅应用进程重启运行异常的主应用进程,进而可以及时的恢复应用程序的运行,能够避免终端无法及时接收消息或无法接收消息的情况。
请参阅图2,图2为本发明第二实施例提供的监听进程状态的方法的实现流程示意图,可应用于手机、计算机等可运行应用程序的终端中,图2所示的基于图像的监听进程状态的方法,主要包括以下步骤:
S201、开发者预先在终端配置用于监听主应用进程运行状态的辅应用进程。
S202、主应用进程每隔预置的第一时间间隔通过对应的端口向辅应用进程发送监听信息,辅应用进程每隔预置的第二时间间隔通过对应的端口向主应用进程发送监听消息。
该主应用进程对应一个端口,该辅应用进程对应一个端口。若主应用进程对应的端口是端口1,辅应用进程对应的端口是端口2,则该主应用进程通过端口1向该辅应用进程发送监听信息,该辅应用进程通过端口2向该主应用进程发送监听信息。
其中,该主应用进程每隔预置的第一时间间隔,向该辅应用进程发送第一监听信息;辅应用进程每隔预置的第二时间间隔,向该主应用进程发送第二监听信息。
该第一时间间隔可以和该第二时间间隔相同,当该第一时间间隔和该第二时间间隔相同时,该主应用进程向该辅应用进程发送该第一监听信息,同时该辅应用进程向该主应用进程发送该第二监听信息。
该第一时间间隔也可以和该第二时间间隔不相同,由于该主应用进程是运行应用程序的程序,所以主应用进程运行的数据多且均是重要数据,为了能够及时检测到主应用进程的运行状态,该第一时间间隔的取值较小,进一步,为了不增加主应用进程的运行压力,该第二时间间隔的取值大于该第一时间间隔的数值。由于采用了心跳机制,所以该第一监听信息或者该第二监听信息为心跳包或心跳帧。
该第一时间间隔可以是1秒、5秒或30秒,此处对该第一时间间隔不做限定,该第二时间间隔可以是5秒、10秒或50秒,此处对该第二时间间隔不做限定,当然该第一时间间隔和该第二时间间隔的取值越小,可以更及时的发现对方的运行状态。
在实际应用中,当该辅应用进程接收到该主应用进程发送的第一监听信息时,控制该辅应用进程向该主应用进程发送第一响应信息;当该主应用进程接收到该辅应用进程发送的第二监听信息时,控制该主应用进程向该辅应用进程发送第二响应信息。
S203、若在第一预置时长内,该辅应用进程未接收到该主应用进程发送的该第一监听信息,则确定该主应用进程运行异常。
S204、若在第二预置时长内,该主应用进程未接收到该辅应用进程发送的该第二监听信息,则确定该辅应用进程运行异常。
其中,该第一预置时长和该第一时间间隔有关联,若初始状态为0秒,第一时间间隔为1秒,则第一次发出该第一监听信息的第一预置时长为1秒,第二次发出该第一监听信息的第一预置时长为2秒,依次类推,若下一秒,该辅应用进程未接收到该主应用进程发送的该第一监听信息,则确定该主应用进程运行异常。
该第二预置时长和该第二时间间隔有关联,若初始状态为0秒,第二时间间隔为2秒,则第一次发出该第二监听信息的第二预置时长为2秒,第二次发出该第二监听信息的第二预置时长为4秒,依次类推,若第6秒,该主应用进程未接收到该辅应用进程发送的该第二监听信息,则确定该辅应用进程运行异常。
S205、若该主应用进程或该辅应用进程中的任一个应用进程运行异常,则运行正常的应用进程重启运行异常的应用进程。
当该主应用进程运行异常时,运行正常的该辅应用进程重启运行异常的该主应用进程;当该辅应用进程运行异常时,运行正常的该主应用进程重启运行异常的该辅应用进程。在实际应用中,可以在主应用进程和辅应用进程中各添加重启线程,该重启线程用于对应用进程进行重启。
本发明实施例中,开发者在终端预先设置用于监听主应用进程运行状态的辅应用进程,设定该主应用进程和该辅应用进程分别通过对应的端口发送该监听信息,该主应用进程和该辅应用进程相互发送的监听信息,以使该主应用进程或该辅应用进程互相监听对方的运行状态,其中所述主应用进程和所述辅应用进程为一个应用程序的应用进程,若在第一预置时长内,该辅应用进程未接收到该主应用进程发送的该第一监听信息,则确定该主应用进程运行异常,若在第二预置时长内,该主应用进程未接收到该辅应用进程发送的该第二监听信息,则确定该辅应用进程运行异常,若该主应用进程或该辅应用进程中的一个应用进程运行异常,则运行正常的应用进程重启运行异常的应用进程,这样可以及时的检测到应用进程发生异常,并通过运行正常的应用进程重启运行异常的应用进程,特别是在主应用进程发生异常时,重启主应用进程,以保证主应用进程的长活,进而可以保证应用程序的生命周期不会异常终止,能够避免终端无法及时接收消息或无法接收消息的情况。
请参阅图3,图3是本发明第三实施例提供的监听进程状态的装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图3示例的监听进程状态的装置可以是前述图1所示实施例提供的监听进程状态的方法的执行主体,可以是终端或终端中的一个控制模块。图3示例的监听进程状态的装置,主要包括:监听模块301和重启模块302。以上各功能模块详细说明如下:
监听模块301,运行于主应用进程和辅应用进程中,用于监听与所在的应用进程归属同一个应用程序的应用进程的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程;
重启模块302,运行于主应用进程和辅应用进程中,用于若所述监听模块监听到与所在的应用进程归属同一个应用程序的应用进程运行异常,则重启运行异常的应用进程。
进程是计算机中的程序关于数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在现有技术中,一个应用程序均对应一个应用进程,该应用进程用于运行该应用程序中的数据,本发明实施例中是将这类应用进程作为该应用程序的主应用进程,然后为该主应用进程配置可以监听该主应用进程的运行状态的辅应用进程,并且该主应用进程也监听该辅应用进程的运行状态。也就是说,在本发明实施例中,一个应用程序对应两个应用进程,即主应用进程和辅应用进程。在本发明实施例中,需要说明的是,该辅应用进程可以只负责运行监听该主应用进程的程序,当然,其也可以具有与主应用进程相同的职责。
在本发明的一个可选实施例中,监听模块301进一步用于,利用心跳机制监听与所在的应用进程归属同一个应用程序的应用进程的运行状态。
在本发明的另一个可选实施例中,运行在所述主应用进程中的所述监听模块301进一步用于,还用于每隔预置的第一时间间隔,向所述辅应用进程发送第一监听信息;运行在所述辅应用进程中的所述监听模块301进一步用于,每隔预置的第二时间间隔,向所述主应用进程发送第二监听信息。
在本发明的另一个可选实施例中,运行在所述辅应用进程中的所述重启模块进一步用于,若在第一预置时长内,所述辅应用进程未接收到所述主应用进程发送的所述第一监听信息,则确定所述主应用进程运行异常;运行在所述主应用进程中的所述重启模块进一步用于,若在第二预置时长内,所述主应用进程未接收到所述辅应用进程发送的所述第二监听信息,则确定所述辅应用进程运行异常。
在本发明的另一个可选实施例中,所述辅应用进程只负责监听所述主应用进程的运行状态。
需要说明的是,以上图3示例的监听进程状态的装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成。本说明书提供的各个实施例都可应用上述描述原则,以下不再赘述。
本发明实施例中,开发者预先在终端配置用于监听主应用进程运行状态的辅应用进程,主应用进程和所述辅应用进程相互监听对方的运行状态,其中所述主应用进程和所述辅应用进程为一个应用程序的应用进程;若所述主应用进程或所述辅应用进程中的一个应用进程运行异常,则运行正常的另一个应用进程重启运行异常的应用进程,这样可以及时的检测到主应用进程发生异常,并通过运行正常的辅应用进程重启运行异常的主应用进程,进而可以及时的恢复应用程序的运行,能够避免终端无法及时接收消息或无法接收消息的情况。
请参阅图4,本发明第四实施例提供的监听进程状态的装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分。图4示例的监听进程状态的装置可以是前述图2所示实施例提供的监听进程状态的方法的执行主体,可以是终端或终端中的一个控制模块。图4示例的监听进程状态的装置,主要包括:设置模块401、监听模块402和重启模块403。以上各功能模块详细说明如下:
设置模块401,用于按照开发人员的指令设置用于监听主应用进程运行状态的辅应用进程。
进程是计算机中的程序关于数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在现有技术中,一个应用程序均对应一个应用进程,该应用进程用于运行该应用程序中的数据,本发明实施例中是将这类应用进程作为该应用程序的主应用进程,然后为该主应用进程配置可以监听该主应用进程的运行状态的辅应用进程,并且该主应用进程也监听该辅应用进程的运行状态。也就是说,在本发明实施例中,一个应用程序对应两个应用进程,即主应用进程和辅应用进程。在本发明实施例中,需要说明的是,该辅应用进程可以只负责运行监听该主应用进程的程序,当然,其也可以具有与主应用进程相同的职责。
终端可以按照开发人员的指令,设置用于监听主应用进程运行状态的辅应用进程。该开发人员的指令可以通过输入设备,如键盘、鼠标、手写板等传输给该终端。
设置模块401,还用于设定该主应用进程和该辅应用进程分别通过对应的端口发送该监听信息。
该主应用进程对应一个端口,该辅应用进程对应一个端口。若主应用进程对应的端口是端口1,辅应用进程对应的端口是端口2,则该主应用进程通过端口1向该辅应用进程传输监听信息,该辅应用进程通过端口2向该主应用进程传输监听信息。
设置模块401,还用于设定该主应用进程和该辅应用进程利用心跳机制相互监听对方的运行状态。
监听模块402,运行于主应用进程和辅应用进程中,用于监听与所在的应用进程归属同一个应用程序的应用进程的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程。
监听模块402利用心跳机制监听与所在的应用进程归属同一个应用程序的应用进程的运行状态。
主应用进程中的监听模块用于,每隔预置的第一时间间隔,向所述辅应用进程发送第一监听信息;运行在所述辅应用进程中的所述监听模块进一步用于,每隔预置的第二时间间隔,向所述主应用进程发送第二监听信息。
该第一时间间隔可以和该第二时间间隔相同,当该第一时间间隔和该第二时间间隔相同时,主应用进程向该辅应用进程发送该第一监听信息,同时辅应用进程向该主应用进程发送该第二监听信息。
该第一时间间隔也可以和该第二时间间隔不相同,由于该主应用进程是运行应用程序的程序,所以主应用进程运行的数据多且均是重要数据,为了能够及时检测到主应用进程的运行状态,该第一时间间隔的取值较小,进一步,为了不增加主应用进程的运行压力,该第二时间间隔的取值可以较大。由于采用了心跳机制,所以该第一监听信息或者该第二监听信息为心跳包或心跳帧。
该第一时间间隔可以是1秒、5秒或30秒,此处对该第一时间间隔不做限定,该第二时间间隔可以是5秒、10秒或50秒,此处对该第二时间间隔不做限定,当然该第一时间间隔和该第二时间间隔的取值越小,可以更及时的发现对方的运行状态。
在实际应用中,当该辅应用进程接收到该主应用进程发送的第一监听信息时,该辅应用进程向该主应用进程发送第一响应信息;当该主应用进程接收到该辅应用进程发送的第二监听信息时,该主应用进程向该辅应用进程发送第二响应信息。
重启模块403,运行于主应用进程和辅应用进程中,用于若所述监听模块监听到与所在的应用进程归属同一个应用程序的应用进程运行异常,则重启运行异常的应用进程。
运行在所述辅应用进程中的所述重启模块进一步用于,若在第一预置时长内,所述辅应用进程未接收到所述主应用进程发送的所述第一监听信息,则确定所述主应用进程运行异常;
运行在所述主应用进程中的所述重启模块进一步用于,若在第二预置时长内,所述主应用进程未接收到所述辅应用进程发送的所述第二监听信息,则确定所述辅应用进程运行异常。
该第一预置时长和该第一时间间隔有关联,若初始状态为0秒,第一时间间隔为1秒,则第一次发出该第一监听信息的第一预置时长为1秒,第二次发出该第一监听信息的第一预置时长为2秒,依次类推,若下一秒,该辅应用进程未接收到该主应用进程发送的该第一监听信息,则重启模块403确定该主应用进程运行异常。
该第二预置时长和该第二时间间隔有关联,若初始状态为0秒,第二时间间隔为2秒,则第一次发出该第二监听信息的第二预置时长为2秒,第二次发出该第二监听信息的第二预置时长为4秒,依次类推,若第6秒,该主应用进程未接收到该辅应用进程发送的该第二监听信息,则重启模块403确定该辅应用进程运行异常。
本发明实施例中,开发者预先在终端配置用于监听主应用进程运行状态的辅应用进程,主应用进程和所述辅应用进程相互监听对方的运行状态,其中所述主应用进程和所述辅应用进程为一个应用程序的应用进程;若所述主应用进程或所述辅应用进程中的一个应用进程运行异常,则运行正常的另一个应用进程重启运行异常的应用进程,这样可以及时的检测到主应用进程发生异常,并通过运行正常的辅应用进程重启运行异常的主应用进程,进而可以及时的恢复应用程序的运行,能够避免终端无法及时接收消息或无法接收消息的情况。
本发明第五实施例还提供了一种用于执行监听进程状态的方法的终端,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括计算机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)等可运行应用程序的电子设备中。
该终端包括:一个或者多个处理器、存储器以及一个或者多个程序(模块)。其中该一个或者多个程序(模块)存储在该存储器中,当被该一个或者多个处理器执行时,该处理器执行以下操作:
主应用进程和辅应用进程互相监听对方的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程;
若所述主应用进程或所述辅应用进程监听到对方运行异常,则所述主应用进程和所述辅应用进程中运行正常的应用进程重启运行异常的应用进程。
本发明实施中,处理器用于运行主应用进程和辅应用进程,主应用进程和辅应用进程互相监听对方的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程;若所述主应用进程或所述辅应用进程监听到对方运行异常,则所述主应用进程和所述辅应用进程中运行正常的应用进程重启运行异常的应用进程。这样可以及时的检测到应用进程发生异常,并通过运行正常的应用进程重启运行异常的应用进程,特别是在主应用进程发生异常时,重启主应用进程,以保证主应用进程的长活,进而可以保证应用程序的生命周期不会异常终止,能够避免终端无法及时接收消息或无法接收消息的情况。
本发明第六实施例还提供了一种非暂态计算机可读存储介质,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该非暂态计算机可读存储介质存储计算机指令,当计算机执行所述计算机指令时,用于执行:
主应用进程和辅应用进程互相监听对方的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程;
若所述主应用进程或所述辅应用进程监听到对方运行异常,则所述主应用进程和所述辅应用进程中运行正常的应用进程重启运行异常的应用进程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM,Read-Only Memory)或随机存储记忆体(RAM,Random Access Memory)等。
在本申请所提供的多个实施例中,应该理解到,所揭露的系统、终端和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信链接可以是通过一些接口,模块的间接耦合或通信链接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的监听进程状态的方法及装置的描述,对于本领域的技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种监听进程状态的方法,其特征在于,包括:
主应用进程和辅应用进程互相监听对方的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程;
若所述主应用进程或所述辅应用进程监听到对方运行异常,则所述主应用进程和所述辅应用进程中运行正常的应用进程重启运行异常的应用进程。
2.根据权利要求1所述的方法,其特征在于,所述主应用进程和辅应用进程互相监听对方的运行状态,包括:
所述主应用进程和辅应用进程利用心跳机制相互监听对方的运行状态。
3.根据权利要求2所述的方法,其特征在于,所述主应用进程和辅应用进程利用心跳机制相互监听对方的运行状态,包括:
所述主应用进程每隔预置的第一时间间隔,向所述辅应用进程发送第一监听信息;
所述辅应用进程每隔预置的第二时间间隔,向所述主应用进程发送第二监听信息。
4.根据权利要求3所述的方法,其特征在于,所述主应用进程和辅应用进程通过如下方式确定对方是否运行异常:
若在第一预置时长内,所述辅应用进程未接收到所述主应用进程发送的所述第一监听信息,则确定所述主应用进程运行异常;
若在第二预置时长内,所述主应用进程未接收到所述辅应用进程发送的所述第二监听信息,则确定所述辅应用进程运行异常。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述辅应用进程只负责监听所述主应用进程。
6.一种监听进程状态的装置,其特征在于,包括:
监听模块,运行于主应用进程和辅应用进程中,用于监听与所在的应用进程归属同一个应用程序的应用进程的运行状态,其中,所述主应用进程和所述辅应用进程为一个应用程序的应用进程;
重启模块,运行于主应用进程和辅应用进程中,用于若所述监听模块监听到与所在的应用进程归属同一个应用程序的应用进程运行异常,则重启运行异常的应用进程。
7.根据权利要求6所述的装置,其特征在于,所述监听模块进一步用于,利用心跳机制监听与所在的应用进程归属同一个应用程序的应用进程的运行状态。
8.根据权利要求7所述的装置,其特征在于,
运行在所述主应用进程中的所述监听模块进一步用于,每隔预置的第一时间间隔,向所述辅应用进程发送第一监听信息;
运行在所述辅应用进程中的所述监听模块进一步用于,每隔预置的第二时间间隔,向所述主应用进程发送第二监听信息。
9.根据权利要求6所述的装置,其特征在于,
运行在所述辅应用进程中的所述重启模块进一步用于,若在第一预置时长内,所述辅应用进程未接收到所述主应用进程发送的所述第一监听信息,则确定所述主应用进程运行异常;
运行在所述主应用进程中的所述重启模块进一步用于,若在第二预置时长内,所述主应用进程未接收到所述辅应用进程发送的所述第二监听信息,则确定所述辅应用进程运行异常。
10.根据权利要6-9任一项所述的装置,其特征在于,所述辅应用进程只负责监听所述主应用进程的运行状态。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611097914.XA CN106776206A (zh) | 2016-12-03 | 2016-12-03 | 监听进程状态的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611097914.XA CN106776206A (zh) | 2016-12-03 | 2016-12-03 | 监听进程状态的方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106776206A true CN106776206A (zh) | 2017-05-31 |
Family
ID=58884058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611097914.XA Pending CN106776206A (zh) | 2016-12-03 | 2016-12-03 | 监听进程状态的方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106776206A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254894A (zh) * | 2018-08-20 | 2019-01-22 | 曙光信息产业(北京)有限公司 | 芯片的心跳监测装置及方法 |
CN109669838A (zh) * | 2018-11-14 | 2019-04-23 | 百度在线网络技术(北京)有限公司 | 实现应用常驻的方法、装置、计算机设备及存储介质 |
CN110032487A (zh) * | 2018-11-09 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 保活监控方法、装置及电子设备 |
CN110377341A (zh) * | 2019-06-10 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 一种监听无响应异常的方法、装置、介质和电子设备 |
-
2016
- 2016-12-03 CN CN201611097914.XA patent/CN106776206A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254894A (zh) * | 2018-08-20 | 2019-01-22 | 曙光信息产业(北京)有限公司 | 芯片的心跳监测装置及方法 |
CN109254894B (zh) * | 2018-08-20 | 2022-03-11 | 中科曙光信息产业成都有限公司 | 芯片的心跳监测装置及方法 |
CN110032487A (zh) * | 2018-11-09 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 保活监控方法、装置及电子设备 |
CN109669838A (zh) * | 2018-11-14 | 2019-04-23 | 百度在线网络技术(北京)有限公司 | 实现应用常驻的方法、装置、计算机设备及存储介质 |
CN110377341A (zh) * | 2019-06-10 | 2019-10-25 | 北京字节跳动网络技术有限公司 | 一种监听无响应异常的方法、装置、介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10303509B2 (en) | Distributed task system based on internet of things and service processing method for distributed tasks based on the same | |
US10152382B2 (en) | Method and system for monitoring virtual machine cluster | |
CN111049705B (zh) | 一种监控分布式存储系统的方法及装置 | |
CN106776206A (zh) | 监听进程状态的方法、装置及电子设备 | |
CN103092746B (zh) | 线程异常的定位方法及系统 | |
CN109840177A (zh) | 一种卡顿的处理方法及相关设备 | |
US20110022870A1 (en) | Component power monitoring and workload optimization | |
CN106030456B (zh) | 自动异步切换标识 | |
CN104714785A (zh) | 任务调度装置、方法及并行处理数据的设备 | |
CN103201724A (zh) | 在高可用性虚拟机环境中提供高可用性应用程序 | |
CN111491552B (zh) | 按照情景分组用于健康护理监测的传感器通道 | |
CN107992394A (zh) | 实时数据处理的监控方法、装置、系统、设备及存储介质 | |
CN105227347A (zh) | 一种通用的运维监控方法及运维监控系统 | |
CN103729252A (zh) | 一种虚拟机调度的方法及调度监控器 | |
US8539453B2 (en) | Autonomic I/O tracing and performance tuning | |
CN105808346A (zh) | 一种任务调度方法与装置 | |
US10394301B2 (en) | Per-screen on session power consumption profiling | |
CN108415765B (zh) | 任务调度方法、装置及智能终端 | |
CN106294364B (zh) | 实现网络爬虫抓取网页的方法和装置 | |
CN111382026A (zh) | 卡顿监控方法、装置、系统、存储介质和计算机设备 | |
CN105357026A (zh) | 一种资源信息收集方法和计算节点 | |
CN110750346B (zh) | 任务运行优化方法、装置、终端及存储介质 | |
CN112860401A (zh) | 任务调度方法、装置、电子设备和存储介质 | |
CN115373860B (zh) | Gpu任务的调度方法、装置、设备和存储介质 | |
CN103095739A (zh) | 机柜服务器系统及其节点通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170531 |
|
WD01 | Invention patent application deemed withdrawn after publication |