一种服务器架构下的保护工作进程的方法和服务器技术

技术编号:13278316 阅读:84 留言:0更新日期:2016-05-19 03:02
本发明专利技术公开了一种服务器架构下的保护工作进程的方法和服务器,该方法包括服务器架构下程序启动时,父进程通过调用进程生产模块产生子进程,所述进程生产模块分叉新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。本发明专利技术公开的一种服务器包括进程生产模块,用于分叉新的进程,设置子进程信号,将父进程接收到的信号传递到所述子进程中,当父进程结束时结束子进程,该服务器还可包括函数调用模块,用于调用waitpid()函数监控子进程状态。采用本发明专利技术提供的保护工作进程的方法和服务器可以节省手动重启工作进程或者定期检测工作进程的时间,并且可以及时修复异常的工作进程。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种服务器架构下的保护工作进程的方法和服务器
技术介绍
随着信息产业的飞速发展,计算机系统及其所衍生的功能已在各行各业广泛应用,而支撑计算机系统及其衍生的各种功能的关键在于各种服务程序的顺利运行。现有技术中,一般的服务程序无自我保护功能,即程序异常退出后需要用户手动重启或者需要其他的进程去定期的检测该进程运行状态。随着计算机性能的不断提高,通常都是多个服务程序同时运行,一旦出现程序异常,再通过手动重启或者按照周期检测或者调试,将延长服务程序的修复时间,影响计算机的工作性能。
技术实现思路
本专利技术为解决现有技术中出现的通过手动重启或者按照周期检测或调试程序异常导致的延长服务程序的修复时间的问题,提供以下技术方案:一种服务器架构下保护工作进程的方法,服务器架构下程序启动时,父进程通过调用进程生产模块产生子进程,所述进程生产模块分叉新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。进一步地进程生产模块可以将子进程的进程标识符写入共享内存中。该父进程还可调用waitpidO函数监控子进程状态,当发现子进程异常退出时,父进程自动重启所述子进程。该waitpidO函数返回该子进程的进程标识符,子进程通过共享内存中的进程标识符信息控制其他子进程状态,当子进程发现另一子进程运行异常时可以强制结束所述另一子进程。一种服务器,包括进程生产模块,用于分叉新的进程,设置子进程信号,将父进程接收到的信号传递到所述子进程中,当父进程结束时结束子进程,该服务器还可包括函数调用模块,用于调用waitpidO函数监控子进程状态。采用本专利技术提供的保护工作进程的方法和服务器可以节省手动重启工作进程或者定期检测工作进程的时间,并且可以及时修复工作进程。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。【附图说明】附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:图1为本专利技术实施例一中的保护工作进程的方法流程图。图2为本专利技术实施例二中的服务器的结构示意图。【具体实施方式】以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。实施例一、一种服务器架构下保护工作进程的方法如附图1所示,实施例一包括:步骤101,服务器架构下程序启动时,父进程通过调用进程生产模块产生子进程;较佳地,该服务程序架构启动时父进程调用进程生产模块才产生子进程,父进程调用进程生产模块产生多个子进程后可以调用函数,如waitpidO函数,监控子进程状态。步骤102,所述进程生产模块分叉新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。较佳地,调用进程模块将所述子进程的进程标识符(PID)写入共享内存中,当父进程发现子进程异常退出时,waitpidO函数会返回该子进程的PID,父进程即可自动重启该子进程,保护子进程永不停止的状态。较佳地各个子进程可通过共享内存中存放的PID信息来控制其他子进程状态,如其中一个子进程发现令一个子进程运行异常可以强制结束该子进程,进一步地,父进程可以自动启动该子进程,启动重启的作用。本专利技术实施例一提供的服务程序架构适用任何服务器程序,稳定性极高,任何一个工作进程运行时异常退出时父进程都会通过技术问题程序,再启动重启程序的方式,实现服务器不停止工作的特性,同时,各个子进程之间也可以相互检查程序运行中的逻辑错误,发现运行异常时主动结束运行错误的子进程。本专利技术实施例一提供的服务程序架构具有自动保护工作进程,防止异常退出,及各个子进程之间运行逻辑相互检查的有益效果,节省了手动重启有问题的工作进程或者周期检测有问题的工作进程所需要的时间。实施例二、一种服务器如图2所示,包括:进程生产模块21,用于分叉新的进程,设置子进程信号,将父进程接收到的信号传递到所述子进程中,当父进程结束时结束子进程。较佳地,该服务器还可包括函数调用模块22,用于调用waitpidO函数监控子进程状态。该服务器可以用于以下具体场景:服务程序架构启动时父进程调用进程生产模块才产生子进程,父进程调用进程生产模块产生多个子进程后可以通过函数调用模块22调用函数,调用,如waitpidO函数,监控子进程状态。进程生产模块分叉(fork)新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。较佳地,进程生产模块可以将子进程的进程标识符(PID)写入共享内存中,当父进程发现子进程异常退出时,waitpidO函数会返回该子进程的PID,父进程即可自动重启该子进程,保护子进程永不停止的状态。采用本专利技术实施例二提供的服务器,可以在服务器架构下,保护任何服务器程序,稳定性极高,任何一个工作进程运行时异常退出时父进程都会通过发现技术问题程序,再启动重启程序的方式,实现服务器不停止工作的特性,同时,各个子进程之间也可以相互检查程序运行中的逻辑错误,发现运行异常时主动结束运行错误的子进程。本专利技术实施例一提供的服务程序架构具有自动保护工作进程,防止异常退出,及各个子进程之间运行逻辑相互检查的有益效果,节省了手动重启有问题的工作进程或者周期检测有问题的工作进程所需要的时间。本领域内的技术人员应明白,本专利技术的实施例可提供为方法、系统、或计算机程序产品。因此,本专利技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本专利技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。本专利技术是参照根据本专利技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。显然,本领域的技本文档来自技高网...

【技术保护点】
一种服务器架构下保护工作进程的方法,其特征在于,包括:所述服务器架构下程序启动时,父进程通过调用进程生产模块产生子进程,所述进程生产模块分叉新的进程,重新设置子进程信号,将所述父进程接收到的信号传递到所述子进程中,当父进程结束时结束所述子进程。

【技术特征摘要】

【专利技术属性】
技术研发人员:张新亮
申请(专利权)人:上海天脉聚源文化传媒有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1