CN110764965A - 进程守护方法、装置、电子设备及存储介质 - Google Patents

进程守护方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110764965A
CN110764965A CN201910833437.6A CN201910833437A CN110764965A CN 110764965 A CN110764965 A CN 110764965A CN 201910833437 A CN201910833437 A CN 201910833437A CN 110764965 A CN110764965 A CN 110764965A
Authority
CN
China
Prior art keywords
daemon
processes
daemon process
daemons
controlling
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
Application number
CN201910833437.6A
Other languages
English (en)
Inventor
芦永胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Smart Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by OneConnect Smart Technology Co Ltd filed Critical OneConnect Smart Technology Co Ltd
Priority to CN201910833437.6A priority Critical patent/CN110764965A/zh
Publication of CN110764965A publication Critical patent/CN110764965A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种进程守护方法、装置、电子设备及存储介质。所述进程守护方法能够当检测到系统启动时,启动两个守护进程,以保证所述两个守护进程能够在开机时就一直处于运行状态,从而对各个模块的进程进行有效守护,进一步为所述两个守护进程建立套接字,识别所述套接字的标识,根据所述标识控制所述两个守护进程互相监听,以便在有进程发生异常时及时处理,当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程,从而实现对系统进程的双守护,实现守护不间断,改善软件监控,并进一步有效保证了系统的运行性能。

Description

进程守护方法、装置、电子设备及存储介质
技术领域
本发明涉及过程优化技术领域,尤其涉及一种进程守护方法、装置、电子设备及存储介质。
背景技术
现有技术方案中,为了更好的为系统提供服务,因此引入了守护进程的概念。守护进程在后台运行,用于执行特定的系统任务。
但是,在通常情况下,一个客户端的守护进程只有一个,如果这个守护进程退出,则无法继续执行守护任务。这样,客户端的各个进程就无法得到保障,若某个进程崩溃,则无法由守护进程辅助重新启动,影响客户端的正常运行。
发明内容
鉴于以上内容,有必要提供一种进程守护方法、装置、电子设备及存储介质,本发明实现对系统进程的双守护,实现守护不间断,并进一步有效保证了系统的运行性能。
一种进程守护方法,所述方法包括:
当检测到系统启动时,启动两个守护进程;
为所述两个守护进程建立套接字;
识别所述套接字的标识;
根据所述标识控制所述两个守护进程互相监听;
当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程。
根据本发明优选实施例,在启动所述两个守护进程时,所述方法还包括:
隐藏所述两个守护进程。
根据本发明优选实施例,所述根据所述标识控制所述两个守护进程互相监听包括:
控制所述两个守护进程互相检测标识,得到检测结果;
根据所述检测结果判定所述两个守护进程的套接字是否存在,得到判定结果;
根据所述判定结果确认所述两个守护进程中是否有守护进程不存在。
根据本发明优选实施例,在控制所述两个守护进程互相监听时,所述方法还包括:
控制所述两个守护进程,一个守护进程处于等待状态,另一个守护进程处于守护模块状态。
根据本发明优选实施例,在处于所述守护模块状态时,所述方法还包括:
根据每个模块的进程名称,轮询每个进程。
根据本发明优选实施例,所述第一守护进程监听到所述第二守护进程不存在包括:
当所述第一守护进程监听不到所述第二守护进程的套接字时,所述第一守护进程确定所述第二守护进程不存在;及/或
当所述第一守护进程无法与所述第二守护进程建立连接时,所述第一守护进程确定所述第二守护进程不存在。
根据本发明优选实施例,在启动所述第二守护进程时,所述方法还包括:
控制所述第二守护进程进入等待状态,以及控制所述第一守护进程与所述第二守护进程继续互相监听。
一种进程守护装置,所述装置包括:
启动单元,用于当检测到系统启动时,启动两个守护进程;
建立单元,用于为所述两个守护进程建立套接字;
识别单元,用于识别所述套接字的标识;
控制单元,用于根据所述标识控制所述两个守护进程互相监听;
所述启动单元,还用于当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程。
根据本发明优选实施例,所述装置还包括:
隐藏单元,用于在启动所述两个守护进程时,隐藏所述两个守护进程。
根据本发明优选实施例,所述控制单元根据所述标识控制所述两个守护进程互相监听包括:
控制所述两个守护进程互相检测标识,得到检测结果;
根据所述检测结果判定所述两个守护进程的套接字是否存在,得到判定结果;
根据所述判定结果确认所述两个守护进程中是否有守护进程不存在。
根据本发明优选实施例,所述控制单元,还用于在控制所述两个守护进程互相监听时,控制所述两个守护进程,一个守护进程处于等待状态,另一个守护进程处于守护模块状态。
根据本发明优选实施例,所述装置还包括:
轮询单元,用于在处于所述守护模块状态时,根据每个模块的进程名称,轮询每个进程。
根据本发明优选实施例,所述第一守护进程监听到所述第二守护进程不存在包括:
当所述第一守护进程监听不到所述第二守护进程的套接字时,所述第一守护进程确定所述第二守护进程不存在;及/或
当所述第一守护进程无法与所述第二守护进程建立连接时,所述第一守护进程确定所述第二守护进程不存在。
根据本发明优选实施例,所述控制单元,还用于在启动所述第二守护进程时,控制所述第二守护进程进入等待状态,以及控制所述第一守护进程与所述第二守护进程继续互相监听。
一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现所述进程守护方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述进程守护方法。
由以上技术方案可以看出,本发明能够当检测到系统启动时,启动两个守护进程,以保证所述两个守护进程能够在开机时就一直处于运行状态,从而对各个模块的进程进行有效守护,进一步控制所述两个守护进程互相监听,以便在有进程发生异常时及时处理,当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程,从而实现对系统进程的双守护,守护不间断,并进一步有效保证了系统的运行性能。
附图说明
图1是本发明进程守护方法的较佳实施例的流程图。
图2是本发明进程守护装置的较佳实施例的功能模块图。
图3是本发明实现进程守护方法的较佳实施例的电子设备的结构示意图。
主要元件符号说明
Figure BDA0002191469760000041
Figure BDA0002191469760000051
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明进程守护方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述进程守护方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital SignalProcessor,DSP)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(CloudComputing)的由大量主机或网络服务器构成的云。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
S10,当检测到系统启动时,启动两个守护进程。
现有技术方案中,为了更好的为系统提供服务,因此引入了守护进程的概念。
所述守护进程独立于所有终端,因为在守护进程从一个目标终端启动时,同一个目标终端很可能被其他的用户同时使用。
例如:当用户A从一个目标终端X启动守护进程后退出,然后用户B也登录到所述目标终端X时,此时,所述用户A不希望所述用户B在使用所述目标终端X的过程中,接收到守护进程的任何错误信息。同样地,由所述目标终端键入的任何信号(例如中断信号)也不应该影响所述用户A在所述目标终端X所启动的任何守护进程的正常运行。
在本发明的至少一个实施例中,所述电子设备在检测到系统启动时,进一步启动所述两个守护进程,是为了保证所述两个守护进程能够在开机时就一直处于运行状态,从而对所述电子设备中各个模块的进程进行有效守护。
在本发明的至少一个实施例中,所述两个守护进程的作用一致,属于等同且并列的关系。
例如:所述两个守护进程可以包括第一守护进程以及第二守护进程,所述第一守护进程以及所述第二守护进程是同时启动的,而且在正常情况下同时运行。
在本发明的至少一个实施例中,所述电子设备在启动所述两个守护进程时,所述方法还包括:
所述电子设备隐藏所述两个守护进程。
可以理解的是,当所述电子设备隐藏所述两个守护进程时,在所述电子设备的显示器上将不显示所述两个守护进程的任何信息,用户也就无法看到所述两个守护进程。
通过上述实施方式,所述电子设备能够使所述两个守护进程隐藏运行,避免用户误删除带来的麻烦。
S11,为所述两个守护进程建立套接字(socket)。
在本发明的至少一个实施例中,所述套接字是网络通信过程中端点的抽象表示,包含进行网络通信所必需的五种信息:连接使用的协议、本地主机的IP地址、本地进程的协议端口、远地主机的IP地址,及远地进程的协议端口。
可以理解的是,在正常守护的情况下,所述两个守护进程处于相互连接的状态,并且,当所述两个守护进程都有所述套接字时,所述两个守护进程才能建立连接。
S12,识别所述套接字的标识。
在本发明的至少一个实施例中,每个套接字都有对应的标识,所述标识能够唯一确定一个套接字,因此,通过识别所述套接字的标识,即可确定所述套接字是否存在。
S13,根据所述标识控制所述两个守护进程互相监听。
在本发明的至少一个实施例中,所述电子设备控制所述两个守护进程互相监听对方是否存在,以便使所述电子设备一直处于双守护进程守护模块的状态,守护不间断,且守护效果更佳。
在本发明的至少一个实施例中,所述电子设备控制所述两个守护进程互相监听包括:
所述电子设备控制所述两个守护进程互相监听对方的套接字。
具体地,所述电子设备控制所述两个守护进程互相检测标识,得到检测结果,并根据所述检测结果判定所述两个守护进程的套接字是否存在,得到判定结果,所述电子设备根据所述判定结果确认所述两个守护进程中是否有守护进程不存在。
现有技术方案中,通常采用轮询的方式,并结合进程名称监听任意一个守护进程是否在系统中存在,以保证守护进程能够正常运行,这种方式存在一定的弊端。
首先,当相隔较长时间进行一次轮询时,由于间隔时间过长,因此很容易出现监听漏洞,这将导致所述电子设备无法及时发现所述两个守护进程中,有任意一个守护进程已经停止运行,这将直接影响对系统异常情况的响应速度。
其次,当相隔较短时间进行一次轮询时,虽然在时间间隔上有所改进,监听漏洞相应减少,但同时,由于时间间隔小了,因此轮询次数增多,导致系统的CPU(CentralProcessing Unit,中央处理器)运行压力过大,系统运行速度变小,影响系统的性能。
相比较而言,本实施方式中采用互相监听对方套接字的方式。由于套接字服务的读取速度非常快,相当于毫秒级,且属于系统的固有进程,不会占用系统多余的资源,因此有效避免了上述问题。
在本发明的至少一个实施例中,所述电子设备在控制所述两个守护进程互相监听时,所述方法还包括:
所述电子设备控制所述两个守护进程,一个守护进程处于等待状态,另一个守护进程处于守护模块状态。
具体地,在启动所述两个守护进程后,所述电子设备可以控制所述两个守护进程中的任意一个守护进程首先进入守护模块状态,即所述任意一个守护进程将持续监控各个模块的进程运行状态,以便在有进程发生异常时及时处理。
例如:当所述任意一个守护进程检测到有进程停止运行时,所述任意一个守护进程控制被停止的进程重新启动。
当然,在其他实施例中,还可以同时获取所述被停止的进程的停止原因,以便使所述任意一个守护进程针对不同的异常原因进行不同处理。具体包括,但不限于以下一种或者多种情况的组合:
(1)当所述停止原因为用户手动停止时,所述任意一个守护进程不进行相应处理。
可以理解的是,当用户手动停止一个进程时,很大可能性是用户认为不需要再运行被停止的进程,因此,为了满足用户的使用需求,所述任意一个守护进程不进行相应处理,以避免影响用户的使用体验。
当然,用户的手动停止操作也可能是由于误触摸等误操作引起,为了避免这种情况被忽略,还可以对所述用户进行提醒。
例如:所述电子设备可以在配置显示器上进行弹窗提醒、飘窗提醒、文字提醒、语音提醒等,本发明不限制。
进一步地,所述电子设备接收所述用户的选择,以确定是否控制所述任意一个守护进程重新启动被停止的进程,增强人机交互性。
(2)当所述停止原因为其他应用程序的影响时,所述任意一个守护进程控制所述被停止的进程重新启动。
通过上述实施方式,可以有效避免由于应用程序间的互斥对系统正常服务造成的影响,使所述电子设备的运行不受影响。
(3)当所述停止原因为系统异常时,所述任意一个守护进程控制所述被停止的进程重新启动。
通过上述实施方式,当用户同时打开较多应用程序,或者由于其他原因造成系统崩溃时,所述任意一个守护进程能够快速重启系统的各项模块,减少用户的等待时间,进一步提升用户体验。
进一步地,所述电子设备控制所述两个守护进程中的另一个守护进程处于等待状态,以便在一个守护进程异常时,另一个守护进程立刻接替服务,而一个守护进程正常运行时,另一个守护进程等待。
上述实施方式能够使所述两个守护进程既同时提供服务,又避免重复服务,守护效果更好。
在本发明的至少一个实施例中,在处于所述守护模块状态时,所述方法还包括:
根据每个模块的进程名称,所述电子设备轮询每个进程。
具体地,根据每个模块的进程名称,所述电子设备每隔预设时间间隔轮询每个进程。
其中,所述预设时间间隔可以进行自定义配置,例如:1分钟等,本发明在此不作限制。
可以理解的是,程序员在编写每个模块的进程时,每个进程的进程名称已经确定,因此,通过每个模块的进程名称,能够唯一确定一个进程。所述电子设备根据每个模块的进程名称轮询每个进程,可以避免监控错误。
另外,在其他实施方式中,所述电子设备也可以根据每个进程的PID(process ID,进程ID)轮询每个进程,但是,由于每次重新启动后,每个进程的PID也会发生变化,因此带来一定的局限性。
通过上述实施方式,能够对系统中的每个进程进行有效守护。
S14,当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程。
其中,所述第一守护进程与所述第二守护进程不存在优先级,二者同时进行服务。
通过上述实施方式,所述电子设备能够在监控到所述两个守护进程中有守护进程停止服务时,及时开启停止服务的守护进程,继续进行双守护。
在本发明的至少一个实施例中,所述第一守护进程监听到所述第二守护进程不存在包括:
(1)当所述第一守护进程监听不到所述第二守护进程的套接字时,所述第一守护进程确定所述第二守护进程不存在。
可以理解的是,由于当所述两个守护进程都有所述套接字时,才能建立连接,所述第一守护进程才能监听到所述第二守护进程,因此,当所述第一守护进程监听不到所述第二守护进程的套接字时,所述第一守护进程确定所述第二守护进程不存在。
(2)当所述第一守护进程无法与所述第二守护进程建立连接时,所述第一守护进程确定所述第二守护进程不存在。
可以理解的是,由于正常守护的情况下,所述第一守护进程与所述第二守护进程是处于相互连接的状态,因此,当所述第一守护进程无法与所述第二守护进程建立连接时,所述第一守护进程确定所述第二守护进程不存在。
在本发明的至少一个实施例中,所述电子设备在启动所述第二守护进程时,所述方法还包括:
所述电子设备控制所述第二守护进程进入等待状态,以及控制所述第一守护进程与所述第二守护进程继续互相监听。
此时,所述第一守护进程已经直接进入守护模块状态,为了避免重复服务,同时控制所述第二守护进程进入等待状态。
并且,所述电子设备为了实现双守护,同时控制所述第一守护进程与所述第二守护进程继续互相监听,以便在其中一个守护进程出现异常时,另一个守护进程及时采取补救措施,守护服务不间断。
由以上技术方案可以看出,本发明能够当检测到系统启动时,启动两个守护进程,以保证所述两个守护进程能够在开机时就一直处于运行状态,从而对各个模块的进程进行有效守护,进一步控制所述两个守护进程互相监听,以便在有进程发生异常时及时处理,当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程,从而实现对系统进程的双守护,守护不间断,并进一步有效保证了系统的运行性能。
如图2所示,是本发明进程守护装置的较佳实施例的功能模块图。所述进程守护装置11包括启动单元110、控制单元111、隐藏单元112、轮询单元113、建立单元114、提醒单元115、确定单元116以及识别单元117。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
当检测到系统启动时,启动单元110启动两个守护进程。
现有技术方案中,为了更好的为系统提供服务,因此引入了守护进程的概念。
所述守护进程独立于所有终端,因为在守护进程从一个目标终端启动时,同一个目标终端很可能被其他的用户同时使用。
例如:当用户A从一个目标终端X启动守护进程后退出,然后用户B也登录到所述目标终端X时,此时,所述用户A不希望所述用户B在使用所述目标终端X的过程中,接收到守护进程的任何错误信息。同样地,由所述目标终端键入的任何信号(例如中断信号)也不应该影响所述用户A在所述目标终端X所启动的任何守护进程的正常运行。
在本发明的至少一个实施例中,在检测到系统启动时,所述启动单元110进一步启动所述两个守护进程,是为了保证所述两个守护进程能够在开机时就一直处于运行状态,从而对电子设备中各个模块的进程进行有效守护。
在本发明的至少一个实施例中,所述两个守护进程的作用一致,属于等同且并列的关系。
例如:所述两个守护进程可以包括第一守护进程以及第二守护进程,所述第一守护进程以及所述第二守护进程是同时启动的,而且在正常情况下同时运行。
在本发明的至少一个实施例中,所述启动单元110在启动所述两个守护进程时,所述方法还包括:
隐藏单元112隐藏所述两个守护进程。
可以理解的是,当所述隐藏单元112隐藏所述两个守护进程时,在电子设备的显示器上将不显示所述两个守护进程的任何信息,用户也就无法看到所述两个守护进程。
通过上述实施方式,所述隐藏单元112能够使所述两个守护进程隐藏运行,避免用户误删除带来的麻烦。
建立单元114为所述两个守护进程建立套接字(socket)。
在本发明的至少一个实施例中,所述套接字是网络通信过程中端点的抽象表示,包含进行网络通信所必需的五种信息:连接使用的协议、本地主机的IP地址、本地进程的协议端口、远地主机的IP地址,及远地进程的协议端口。
可以理解的是,在正常守护的情况下,所述两个守护进程处于相互连接的状态,并且,当所述两个守护进程都有所述套接字时,所述两个守护进程才能建立连接。
识别单元117识别所述套接字的标识。
在本发明的至少一个实施例中,每个套接字都有对应的标识,所述标识能够唯一确定一个套接字,因此,通过识别所述套接字的标识,即可确定所述套接字是否存在。
控制单元111根据所述标识控制所述两个守护进程互相监听。
在本发明的至少一个实施例中,所述控制单元111控制所述两个守护进程互相监听对方是否存在,以便使所述电子设备一直处于双守护进程守护模块的状态,守护不间断,且守护效果更佳。
在本发明的至少一个实施例中,所述控制单元111控制所述两个守护进程互相监听包括:
所述控制单元111控制所述两个守护进程互相监听对方的套接字。
具体地,所述控制单元111控制所述两个守护进程互相检测标识,得到检测结果,并根据所述检测结果判定所述两个守护进程的套接字是否存在,得到判定结果,所述控制单元111根据所述判定结果确认所述两个守护进程中是否有守护进程不存在。
现有技术方案中,通常采用轮询的方式,并结合进程名称监听任意一个守护进程是否在系统中存在,以保证守护进程能够正常运行,这种方式存在一定的弊端。
首先,当相隔较长时间进行一次轮询时,由于轮询的间隔时间过长,因此很容易出现监听漏洞,这将导致无法及时发现所述两个守护进程中,有任意一个守护进程已经停止运行,直接影响对系统异常情况的响应速度。
其次,当相隔较短时间进行一次轮询时,虽然在时间间隔上有所改进,监听漏洞相应减少,但同时,由于时间间隔小了,因此轮询次数增多,导致系统的CPU(CentralProcessing Unit,中央处理器)运行压力过大,系统运行速度变小,影响系统的性能。
相比较而言,本实施方式中采用互相监听对方套接字的方式。由于套接字服务的读取速度非常快,相当于毫秒级,且属于系统的固有进程,不会占用系统多余的资源,因此有效避免了上述问题。
在本发明的至少一个实施例中,所述控制单元111在控制所述两个守护进程互相监听时,所述方法还包括:
所述控制单元111控制所述两个守护进程,一个守护进程处于等待状态,另一个守护进程处于守护模块状态。
具体地,在启动所述两个守护进程后,所述控制单元111可以控制所述两个守护进程中的任意一个守护进程首先进入守护模块状态,即所述任意一个守护进程将持续监控各个模块的进程运行状态,以便在有进程发生异常时及时处理。
例如:当所述任意一个守护进程检测到有进程停止运行时,所述任意一个守护进程控制被停止的进程重新启动。
当然,在其他实施例中,还可以同时获取所述被停止的进程的停止原因,以便使所述任意一个守护进程针对不同的异常原因进行不同处理。具体包括,但不限于以下一种或者多种情况的组合:
(1)当所述停止原因为用户手动停止时,所述任意一个守护进程不进行相应处理。
可以理解的是,当用户手动停止一个进程时,很大可能性是用户认为不需要再运行被停止的进程,因此,为了满足用户的使用需求,所述任意一个守护进程不进行相应处理,以避免影响用户的使用体验。
当然,用户的手动停止操作也可能是由于误触摸等误操作引起,为了避免这种情况被忽略,提醒单元115可以对所述用户进行提醒。
例如:所述提醒单元115可以在配置显示器上进行弹窗提醒、飘窗提醒、文字提醒、语音提醒等,本发明不限制。
进一步地,确定单元116接收所述用户的选择,以确定是否控制所述任意一个守护进程重新启动被停止的进程,增强人机交互性。
(2)当所述停止原因为其他应用程序的影响时,所述任意一个守护进程控制所述被停止的进程重新启动。
通过上述实施方式,可以有效避免由于应用程序间的互斥对系统正常服务造成的影响,使所述电子设备的运行不受影响。
(3)当所述停止原因为系统异常时,所述任意一个守护进程控制所述被停止的进程重新启动。
通过上述实施方式,当用户同时打开较多应用程序,或者由于其他原因造成系统崩溃时,所述任意一个守护进程能够快速重启系统的各项模块,减少用户的等待时间,进一步提升用户体验。
进一步地,所述控制单元111控制所述两个守护进程中的另一个守护进程处于等待状态,以便在一个守护进程异常时,另一个守护进程立刻接替服务,而一个守护进程正常运行时,另一个守护进程等待。
上述实施方式能够使所述两个守护进程既同时提供模块,又避免重复模块,守护效果更好。
在本发明的至少一个实施例中,在处于所述守护模块状态时,所述方法还包括:
根据每个模块的进程名称,轮询单元113轮询每个进程。
具体地,根据每个模块的进程名称,所述轮询单元113每隔预设时间间隔轮询每个进程。
其中,所述预设时间间隔可以进行自定义配置,例如:1分钟等,本发明在此不作限制。
可以理解的是,程序员在编写每个模块的进程时,每个进程的进程名称已经确定,因此,通过每个模块的进程名称,能够唯一确定一个进程。所述轮询单元113根据每个模块的进程名称轮询每个进程,可以避免监控错误。
另外,在其他实施方式中,也可以根据每个进程的PID(process ID,进程ID)轮询每个进程,但是,由于每次重新启动后,每个进程的PID也会发生变化,因此带来一定的局限性。
通过上述实施方式,能够对系统中的每个进程进行有效守护。
当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,所述启动单元110启动所述第二守护进程。
其中,所述第一守护进程与所述第二守护进程不存在优先级,二者同时进行服务。
通过上述实施方式,所述启动单元110能够在监控到所述两个守护进程中有守护进程停止服务时,及时开启停止服务的守护进程,继续进行双守护。
在本发明的至少一个实施例中,所述第一守护进程监听到所述第二守护进程不存在包括:
(1)当所述第一守护进程监听不到所述第二守护进程的套接字时,所述第一守护进程确定所述第二守护进程不存在。
可以理解的是,由于当所述两个守护进程都有所述套接字时,才能建立连接,所述第一守护进程才能监听到所述第二守护进程,因此,当所述第一守护进程监听不到所述第二守护进程的套接字时,所述第一守护进程确定所述第二守护进程不存在。
(2)当所述第一守护进程无法与所述第二守护进程建立连接时,所述第一守护进程确定所述第二守护进程不存在。
可以理解的是,由于正常守护的情况下,所述第一守护进程与所述第二守护进程是处于相互连接的状态,因此,当所述第一守护进程无法与所述第二守护进程建立连接时,所述第一守护进程确定所述第二守护进程不存在。
在本发明的至少一个实施例中,所述启动单元110在启动所述第二守护进程时,所述方法还包括:
所述控制单元111控制所述第二守护进程进入等待状态,以及控制所述第一守护进程与所述第二守护进程继续互相监听。
此时,所述第一守护进程已经直接进入守护模块状态,为了避免重复服务,同时控制所述第二守护进程进入等待状态。
并且,所述控制单元111为了实现双守护,同时控制所述第一守护进程与所述第二守护进程继续互相监听,以便在其中一个守护进程出现异常时,另一个守护进程及时采取补救措施,守护服务不间断。
由以上技术方案可以看出,本发明能够当检测到系统启动时,启动两个守护进程,以保证所述两个守护进程能够在开机时就一直处于运行状态,从而对各个模块的进程进行有效守护,进一步控制所述两个守护进程互相监听,以便在有进程发生异常时及时处理,当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程,从而实现对系统进程的双守护,守护不间断,并进一步有效保证了系统的运行性能。
如图3所示,是本发明实现进程守护方法的较佳实施例的电子设备的结构示意图。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如进程守护程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个进程守护方法实施例中的步骤,例如图1所示的步骤S10、S11、S12、S13、S14。
或者,所述处理器13执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如:当检测到系统启动时,启动两个守护进程;为所述两个守护进程建立套接字;识别所述套接字的标识;根据所述标识控制所述两个守护进程互相监听;当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成启动单元110、控制单元111、隐藏单元112、轮询单元113、建立单元114、提醒单元115、确定单元116以及识别单元117。
所述存储器12可用于存储所述计算机程序和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机程序和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据等)等。此外,存储器12可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种进程守护方法,所述处理器13可执行所述多个指令从而实现:当检测到系统启动时,启动两个守护进程;为所述两个守护进程建立套接字;识别所述套接字的标识;根据所述标识控制所述两个守护进程互相监听;当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种进程守护方法,其特征在于,所述方法包括:
当检测到系统启动时,启动两个守护进程;
为所述两个守护进程建立套接字;
识别所述套接字的标识;
根据所述标识控制所述两个守护进程互相监听;
当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程。
2.如权利要求1所述的进程守护方法,其特征在于,在启动所述两个守护进程时,所述方法还包括:
隐藏所述两个守护进程。
3.如权利要求1所述的进程守护方法,其特征在于,所述根据所述标识控制所述两个守护进程互相监听包括:
控制所述两个守护进程互相检测标识,得到检测结果;
根据所述检测结果判定所述两个守护进程的套接字是否存在,得到判定结果;
根据所述判定结果确认所述两个守护进程中是否有守护进程不存在。
4.如权利要求1所述的进程守护方法,其特征在于,在控制所述两个守护进程互相监听时,所述方法还包括:
控制所述两个守护进程,一个守护进程处于等待状态,另一个守护进程处于守护模块状态。
5.如权利要求4所述的进程守护方法,其特征在于,在处于所述守护模块状态时,所述方法还包括:
根据每个模块的进程名称,轮询每个进程。
6.如权利要求1所述的进程守护方法,其特征在于,所述第一守护进程监听到所述第二守护进程不存在包括:
当所述第一守护进程监听不到所述第二守护进程的套接字时,所述第一守护进程确定所述第二守护进程不存在;及/或
当所述第一守护进程无法与所述第二守护进程建立连接时,所述第一守护进程确定所述第二守护进程不存在。
7.如权利要求1所述的进程守护方法,其特征在于,在启动所述第二守护进程时,所述方法还包括:
控制所述第二守护进程进入等待状态,以及控制所述第一守护进程与所述第二守护进程继续互相监听。
8.一种进程守护装置,其特征在于,所述装置包括:
启动单元,用于当检测到系统启动时,启动两个守护进程;
建立单元,用于为所述两个守护进程建立套接字;
识别单元,用于识别所述套接字的标识;
控制单元,用于根据所述标识控制所述两个守护进程互相监听;
所述启动单元,还用于当接收到所述两个守护进程中有第一守护进程监听到第二守护进程不存在的信号时,启动所述第二守护进程。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现如权利要求1至7中任意一项所述的进程守护方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现如权利要求1至7中任意一项所述的进程守护方法。
CN201910833437.6A 2019-09-04 2019-09-04 进程守护方法、装置、电子设备及存储介质 Pending CN110764965A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910833437.6A CN110764965A (zh) 2019-09-04 2019-09-04 进程守护方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910833437.6A CN110764965A (zh) 2019-09-04 2019-09-04 进程守护方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN110764965A true CN110764965A (zh) 2020-02-07

Family

ID=69329342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910833437.6A Pending CN110764965A (zh) 2019-09-04 2019-09-04 进程守护方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110764965A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352803A (zh) * 2020-03-09 2020-06-30 广州市百果园信息技术有限公司 业务数据处理方法、装置、设备和存储介质
CN112307465A (zh) * 2020-10-30 2021-02-02 上海中通吉网络技术有限公司 应对应用程序被查杀的保活拉活方法、存储介质及设备
CN114546517A (zh) * 2022-01-24 2022-05-27 中国第一汽车股份有限公司 一种软件健康管理方法、装置、设备及存储介质
CN114816546A (zh) * 2022-04-28 2022-07-29 合肥高维数据技术有限公司 客户端应用程序多重保活方法及系统
CN115585529A (zh) * 2021-07-05 2023-01-10 宁波奥克斯电气股份有限公司 一种在线语音模组的守护进程方法、系统及空调

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0954138A2 (en) * 1998-04-30 1999-11-03 Sun Microsystems, Inc. A method, apparatus & computer program product for dynamic administration, management and monitoring of daemon processes
US20030046589A1 (en) * 1997-06-11 2003-03-06 Gregg Richard L. System and method for securing transactions and computer resources with an untrusted network
CN101895540A (zh) * 2010-07-12 2010-11-24 中兴通讯股份有限公司 用于应用服务进程守护的系统和方法
CN105573890A (zh) * 2015-12-15 2016-05-11 浪潮软件股份有限公司 一种守护服务器的进程的方法及装置
CN106254126A (zh) * 2016-08-18 2016-12-21 浪潮(北京)电子信息产业有限公司 一种基于daemon模式的管理网络系统
CN106371911A (zh) * 2016-09-06 2017-02-01 北京海誉动想科技股份有限公司 守护进程重启被守护进程的方法
CN106850554A (zh) * 2016-12-22 2017-06-13 广州视源电子科技股份有限公司 双系统定向连接的方法和装置
CN108229167A (zh) * 2017-12-29 2018-06-29 北京安云世纪科技有限公司 用于对多进程应用进行控制的方法、设备及移动终端
CN108595273A (zh) * 2018-05-10 2018-09-28 北京世纪东方通讯设备有限公司 一种控制台程序守护方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046589A1 (en) * 1997-06-11 2003-03-06 Gregg Richard L. System and method for securing transactions and computer resources with an untrusted network
EP0954138A2 (en) * 1998-04-30 1999-11-03 Sun Microsystems, Inc. A method, apparatus & computer program product for dynamic administration, management and monitoring of daemon processes
US6457063B1 (en) * 1998-04-30 2002-09-24 Sun Microsystems, Inc. Method, apparatus & computer program product for dynamic administration, management and monitoring of daemon processes
CN101895540A (zh) * 2010-07-12 2010-11-24 中兴通讯股份有限公司 用于应用服务进程守护的系统和方法
CN105573890A (zh) * 2015-12-15 2016-05-11 浪潮软件股份有限公司 一种守护服务器的进程的方法及装置
CN106254126A (zh) * 2016-08-18 2016-12-21 浪潮(北京)电子信息产业有限公司 一种基于daemon模式的管理网络系统
CN106371911A (zh) * 2016-09-06 2017-02-01 北京海誉动想科技股份有限公司 守护进程重启被守护进程的方法
CN106850554A (zh) * 2016-12-22 2017-06-13 广州视源电子科技股份有限公司 双系统定向连接的方法和装置
CN108229167A (zh) * 2017-12-29 2018-06-29 北京安云世纪科技有限公司 用于对多进程应用进行控制的方法、设备及移动终端
CN108595273A (zh) * 2018-05-10 2018-09-28 北京世纪东方通讯设备有限公司 一种控制台程序守护方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352803A (zh) * 2020-03-09 2020-06-30 广州市百果园信息技术有限公司 业务数据处理方法、装置、设备和存储介质
CN112307465A (zh) * 2020-10-30 2021-02-02 上海中通吉网络技术有限公司 应对应用程序被查杀的保活拉活方法、存储介质及设备
CN115585529A (zh) * 2021-07-05 2023-01-10 宁波奥克斯电气股份有限公司 一种在线语音模组的守护进程方法、系统及空调
CN114546517A (zh) * 2022-01-24 2022-05-27 中国第一汽车股份有限公司 一种软件健康管理方法、装置、设备及存储介质
CN114546517B (zh) * 2022-01-24 2024-09-06 中国第一汽车股份有限公司 一种软件健康管理方法、装置、设备及存储介质
CN114816546A (zh) * 2022-04-28 2022-07-29 合肥高维数据技术有限公司 客户端应用程序多重保活方法及系统

Similar Documents

Publication Publication Date Title
CN110764965A (zh) 进程守护方法、装置、电子设备及存储介质
US9912535B2 (en) System and method of performing high availability configuration and validation of virtual desktop infrastructure (VDI)
US10110549B2 (en) Method, server and electronic devices of synchronizing notification messages for electronic devices
CN109275042B (zh) 一种弹幕消息的分发方法、装置、终端和存储介质
CN108132735B (zh) 终端与应用控制方法
CN110879742B (zh) 虚拟机异步创建内部快照方法、装置及存储介质
CN110083399B (zh) 小程序运行方法、计算机设备及存储介质
US9712382B2 (en) Retrieving console messages after device failure
US9164851B2 (en) Keyboard, video and mouse switch identifying and displaying nodes experiencing a problem
CN110708366A (zh) 一种插件进程的管理方法及相关方法和相关装置
CN110647739A (zh) 软件安装检测方法、装置、终端及存储介质
CN110109765A (zh) 存储装置识别方法、电子设备、系统及介质
CN109408281A (zh) 用于无头服务器可管理性和自主日志记录的技术
CN112929254B (zh) 消息处理方法、装置和电子设备
WO2022021850A1 (zh) 一种服务实例部署方法、装置、电子设备和存储介质
CN115913913B (zh) 网卡预启动执行环境功能故障定位方法及装置
EP4284006A1 (en) Abnormal state processing method, server, and electronic device
US20200150972A1 (en) Performing actions opportunistically in connection with reboot events in a cloud computing system
CN110874729A (zh) 电子红包识别策略的切换方法、切换装置及移动终端
CN112673354B (zh) 一种系统状态检测方法、系统状态装置及终端设备
CN110704247B (zh) 应用内存异常的处理方法、装置、电子设备及装置
CN110704219B (zh) 一种硬件故障上报方法、装置和计算机存储介质
CN111722894B (zh) 应用处理方法、装置及电子设备
CN109828885B (zh) RocketMQ内存监控方法、装置、电子设备及存储介质
WO2020215702A1 (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200207