CN105589757A - 一种服务器架构下的保护工作进程的方法和服务器 - Google Patents
一种服务器架构下的保护工作进程的方法和服务器 Download PDFInfo
- Publication number
- CN105589757A CN105589757A CN201410572704.6A CN201410572704A CN105589757A CN 105589757 A CN105589757 A CN 105589757A CN 201410572704 A CN201410572704 A CN 201410572704A CN 105589757 A CN105589757 A CN 105589757A
- Authority
- CN
- China
- Prior art keywords
- subprocess
- server
- parent process
- parent
- sub
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种服务器架构下的保护工作进程的方法和服务器,该方法包括服务器架构下程序启动时,父进程通过调用进程生产模块产生子进程,所述进程生产模块分叉新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。本发明公开的一种服务器包括进程生产模块,用于分叉新的进程,设置子进程信号,将父进程接收到的信号传递到所述子进程中,当父进程结束时结束子进程,该服务器还可包括函数调用模块,用于调用waitpid()函数监控子进程状态。采用本发明提供的保护工作进程的方法和服务器可以节省手动重启工作进程或者定期检测工作进程的时间,并且可以及时修复异常的工作进程。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种服务器架构下的保护工作进程的方法和服务器。
背景技术
随着信息产业的飞速发展,计算机系统及其所衍生的功能已在各行各业广泛应用,而支撑计算机系统及其衍生的各种功能的关键在于各种服务程序的顺利运行。现有技术中,一般的服务程序无自我保护功能,即程序异常退出后需要用户手动重启或者需要其他的进程去定期的检测该进程运行状态。随着计算机性能的不断提高,通常都是多个服务程序同时运行,一旦出现程序异常,再通过手动重启或者按照周期检测或者调试,将延长服务程序的修复时间,影响计算机的工作性能。
发明内容
本发明为解决现有技术中出现的通过手动重启或者按照周期检测或调试程序异常导致的延长服务程序的修复时间的问题,提供以下技术方案:
一种服务器架构下保护工作进程的方法,服务器架构下程序启动时,父进程通过调用进程生产模块产生子进程,所述进程生产模块分叉新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。进一步地进程生产模块可以将子进程的进程标识符写入共享内存中。该父进程还可调用waitpid()函数监控子进程状态,当发现子进程异常退出时,父进程自动重启所述子进程。该waitpid()函数返回该子进程的进程标识符,子进程通过共享内存中的进程标识符信息控制其他子进程状态,当子进程发现另一子进程运行异常时可以强制结束所述另一子进程。
一种服务器,包括进程生产模块,用于分叉新的进程,设置子进程信号,将父进程接收到的信号传递到所述子进程中,当父进程结束时结束子进程,该服务器还可包括函数调用模块,用于调用waitpid()函数监控子进程状态。采用本发明提供的保护工作进程的方法和服务器可以节省手动重启工作进程或者定期检测工作进程的时间,并且可以及时修复工作进程。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一中的保护工作进程的方法流程图。
图2为本发明实施例二中的服务器的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
实施例一、一种服务器架构下保护工作进程的方法
如附图1所示,实施例一包括:
步骤101,服务器架构下程序启动时,父进程通过调用进程生产模块产生子进程;
较佳地,该服务程序架构启动时父进程调用进程生产模块才产生子进程,父进程调用进程生产模块产生多个子进程后可以调用函数,如waitpid()函数,监控子进程状态。
步骤102,所述进程生产模块分叉新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。
较佳地,调用进程模块将所述子进程的进程标识符(PID)写入共享内存中,当父进程发现子进程异常退出时,waitpid()函数会返回该子进程的PID,父进程即可自动重启该子进程,保护子进程永不停止的状态。
较佳地各个子进程可通过共享内存中存放的PID信息来控制其他子进程状态,如其中一个子进程发现令一个子进程运行异常可以强制结束该子进程,进一步地,父进程可以自动启动该子进程,启动重启的作用。
本发明实施例一提供的服务程序架构适用任何服务器程序,稳定性极高,任何一个工作进程运行时异常退出时父进程都会通过技术问题程序,再启动重启程序的方式,实现服务器不停止工作的特性,同时,各个子进程之间也可以相互检查程序运行中的逻辑错误,发现运行异常时主动结束运行错误的子进程。本发明实施例一提供的服务程序架构具有自动保护工作进程,防止异常退出,及各个子进程之间运行逻辑相互检查的有益效果,节省了手动重启有问题的工作进程或者周期检测有问题的工作进程所需要的时间。
实施例二、一种服务器
如图2所示,包括:
进程生产模块21,用于分叉新的进程,设置子进程信号,将父进程接收到的信号传递到所述子进程中,当父进程结束时结束子进程。
较佳地,该服务器还可包括函数调用模块22,用于调用waitpid()函数监控子进程状态。
该服务器可以用于以下具体场景:服务程序架构启动时父进程调用进程生产模块才产生子进程,父进程调用进程生产模块产生多个子进程后可以通过函数调用模块22调用函数,调用,如waitpid()函数,监控子进程状态。进程生产模块分叉(fork)新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。
较佳地,进程生产模块可以将子进程的进程标识符(PID)写入共享内存中,当父进程发现子进程异常退出时,waitpid()函数会返回该子进程的PID,父进程即可自动重启该子进程,保护子进程永不停止的状态。
采用本发明实施例二提供的服务器,可以在服务器架构下,保护任何服务器程序,稳定性极高,任何一个工作进程运行时异常退出时父进程都会通过发现技术问题程序,再启动重启程序的方式,实现服务器不停止工作的特性,同时,各个子进程之间也可以相互检查程序运行中的逻辑错误,发现运行异常时主动结束运行错误的子进程。本发明实施例一提供的服务程序架构具有自动保护工作进程,防止异常退出,及各个子进程之间运行逻辑相互检查的有益效果,节省了手动重启有问题的工作进程或者周期检测有问题的工作进程所需要的时间。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种服务器架构下保护工作进程的方法,其特征在于,包括:
所述服务器架构下程序启动时,父进程通过调用进程生产模块产生子进程,所述进程生产模块分叉新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。
2.根据权利要求1所述的方法,其特征在于,包括调用所述进程生产模块将所述子进程的进程标识符写入共享内存中。
3.根据权利要求1所述的方法,其特征在于,所述父进程监控子进程状态,当发现子进程异常退出时,父进程自动重启所述子进程。
4.根据权利要求3所述的方法,其特征在于,所述父进程通过调用waitpid()函数监控所述子进程状态。
5.根据权利要求4所述的方法,其特征在于,所述waitpid()函数返回该子进程的进程标识符。
6.根据权利要求5所述的方法,其特征在于,所述子进程通过共享内存中的进程标识符信息控制其他子进程状态,当子进程发现另一子进程运行异常时可以强制结束所述另一子进程。
7.根据权利要求6所述的方法,所述父进程自动启动所述子进程。
8.一种服务器,其特征在于,包括:
进程生产模块,用于分叉新的进程,设置子进程信号,将父进程接收到的信号传递到所述子进程中,当父进程结束时结束子进程。
9.根据权利要求8所述的服务器,所述服务器包括函数调用模块,用于调用waitpid()函数监控子进程状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410572704.6A CN105589757A (zh) | 2014-10-23 | 2014-10-23 | 一种服务器架构下的保护工作进程的方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410572704.6A CN105589757A (zh) | 2014-10-23 | 2014-10-23 | 一种服务器架构下的保护工作进程的方法和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105589757A true CN105589757A (zh) | 2016-05-18 |
Family
ID=55929358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410572704.6A Pending CN105589757A (zh) | 2014-10-23 | 2014-10-23 | 一种服务器架构下的保护工作进程的方法和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105589757A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055397A (zh) * | 2016-05-30 | 2016-10-26 | 新浪网技术(中国)有限公司 | 一种锁的控制方法及装置 |
CN106603489A (zh) * | 2016-11-08 | 2017-04-26 | 南京南瑞继保电气有限公司 | 一种变电站网络安全管控装置 |
CN108153586A (zh) * | 2017-12-25 | 2018-06-12 | 北京百度网讯科技有限公司 | 程序管理方法、装置与系统、计算机设备及可读介质 |
CN109117224A (zh) * | 2018-07-26 | 2019-01-01 | 深信服科技股份有限公司 | 一种在控制台图形化更改配置的方法及默认虚拟终端 |
WO2019051944A1 (zh) * | 2017-09-14 | 2019-03-21 | 平安科技(深圳)有限公司 | 一种进程保护方法、装置、设备以及计算机可读存储介质 |
CN109947576A (zh) * | 2017-12-21 | 2019-06-28 | 上海盛霄云计算技术有限公司 | 一种虚拟机内部代理程序管理的方法 |
CN111090562A (zh) * | 2019-11-25 | 2020-05-01 | 广东科徕尼智能科技有限公司 | 一种边缘智能网关的业务进程监控方法、设备及存储介质 |
CN111756676A (zh) * | 2019-03-28 | 2020-10-09 | 上海申通地铁集团有限公司 | 用于轨道交通系统的远程数据访问方法及系统 |
CN113568719A (zh) * | 2020-04-29 | 2021-10-29 | 北京猎户星空科技有限公司 | 一种业务故障处理方法、装置、电子设备及存储介质 |
CN114237766A (zh) * | 2021-12-28 | 2022-03-25 | 南京合智电力科技有限公司 | 一种进程动态重启的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477509A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | 一种进程自动恢复方法 |
CN1996257A (zh) * | 2006-12-26 | 2007-07-11 | 华为技术有限公司 | 对进程进行监控的方法和系统 |
CN101290587A (zh) * | 2008-06-12 | 2008-10-22 | 中兴通讯股份有限公司 | 一种实现进程启动和监控的方法 |
CN102999412A (zh) * | 2012-11-21 | 2013-03-27 | 浪潮电子信息产业股份有限公司 | 一种Linux下进程监护的方法 |
-
2014
- 2014-10-23 CN CN201410572704.6A patent/CN105589757A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477509A (zh) * | 2002-08-19 | 2004-02-25 | 万达信息股份有限公司 | 一种进程自动恢复方法 |
CN1996257A (zh) * | 2006-12-26 | 2007-07-11 | 华为技术有限公司 | 对进程进行监控的方法和系统 |
CN101290587A (zh) * | 2008-06-12 | 2008-10-22 | 中兴通讯股份有限公司 | 一种实现进程启动和监控的方法 |
CN102999412A (zh) * | 2012-11-21 | 2013-03-27 | 浪潮电子信息产业股份有限公司 | 一种Linux下进程监护的方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106055397A (zh) * | 2016-05-30 | 2016-10-26 | 新浪网技术(中国)有限公司 | 一种锁的控制方法及装置 |
CN106055397B (zh) * | 2016-05-30 | 2019-09-27 | 新浪网技术(中国)有限公司 | 一种锁的控制方法及装置 |
CN106603489A (zh) * | 2016-11-08 | 2017-04-26 | 南京南瑞继保电气有限公司 | 一种变电站网络安全管控装置 |
WO2019051944A1 (zh) * | 2017-09-14 | 2019-03-21 | 平安科技(深圳)有限公司 | 一种进程保护方法、装置、设备以及计算机可读存储介质 |
CN109947576B (zh) * | 2017-12-21 | 2022-12-06 | 上海盛霄云计算技术有限公司 | 一种虚拟机内部代理程序管理的方法 |
CN109947576A (zh) * | 2017-12-21 | 2019-06-28 | 上海盛霄云计算技术有限公司 | 一种虚拟机内部代理程序管理的方法 |
CN108153586A (zh) * | 2017-12-25 | 2018-06-12 | 北京百度网讯科技有限公司 | 程序管理方法、装置与系统、计算机设备及可读介质 |
CN109117224A (zh) * | 2018-07-26 | 2019-01-01 | 深信服科技股份有限公司 | 一种在控制台图形化更改配置的方法及默认虚拟终端 |
CN111756676A (zh) * | 2019-03-28 | 2020-10-09 | 上海申通地铁集团有限公司 | 用于轨道交通系统的远程数据访问方法及系统 |
CN111090562A (zh) * | 2019-11-25 | 2020-05-01 | 广东科徕尼智能科技有限公司 | 一种边缘智能网关的业务进程监控方法、设备及存储介质 |
CN113568719A (zh) * | 2020-04-29 | 2021-10-29 | 北京猎户星空科技有限公司 | 一种业务故障处理方法、装置、电子设备及存储介质 |
CN113568719B (zh) * | 2020-04-29 | 2024-04-19 | 北京猎户星空科技有限公司 | 一种业务故障处理方法、装置、电子设备及存储介质 |
CN114237766A (zh) * | 2021-12-28 | 2022-03-25 | 南京合智电力科技有限公司 | 一种进程动态重启的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589757A (zh) | 一种服务器架构下的保护工作进程的方法和服务器 | |
CN104951395A (zh) | 一种嵌入式系统调试信息处理方法及装置 | |
CN103886249A (zh) | 系统超级用户权限下执行进程的方法及装置 | |
CN105653261A (zh) | 基于云计算环境下的开发集成测试方法及系统 | |
JP2020108918A (ja) | 加工装置誤差補正方法及びそのシステム | |
JP2020109657A (ja) | 加工装置誤差補正方法及びそのシステム | |
CN104951481B (zh) | 一种管理数据库连接的方法和装置 | |
CN110597695A (zh) | 报警方法、装置、计算机设备和可读存储介质 | |
CN104486373A (zh) | 一种锁资源迁移方法、节点及分布式系统 | |
CN104483964A (zh) | 一种自动测试方法、装置及系统 | |
JP5921781B2 (ja) | プログラマブルコントローラおよびプログラマブルコントローラの制御方法 | |
CN106547606B (zh) | 堆栈自检方法及装置 | |
CN104765648A (zh) | 一种基于实时计算系统的问题节点检测方法及装置 | |
CN101753360B (zh) | 应用系统启动的方法、并行管理系统和应用管理系统 | |
CN115981261A (zh) | 产线控制方法、装置、计算机设备及计算机可读存储介质 | |
CN111147542A (zh) | 一种免密访问的设置方法、装置、设备及介质 | |
CN108436201A (zh) | 刚性攻丝的回退方法 | |
CN103760881B (zh) | 一种物料使用情况的监控管理方法及系统 | |
CN110740382B (zh) | 避免电视机非期望自动重启方法、装置、电视机及介质 | |
CN110990052B (zh) | 一种配置保存方法及装置 | |
CN115890026A (zh) | 一种激光切割监测方法、装置及计算机可读存储介质 | |
CN107506214B (zh) | 一种集群系统控制器的更新方法及更新系统 | |
CN104360889A (zh) | 一种驱动程序加载方法及装置 | |
CN104102575A (zh) | 在线调试方法 | |
CN110730213A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160518 |