CN114489847A - 进程管理器的管控方法、系统、设备及存储介质 - Google Patents
进程管理器的管控方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN114489847A CN114489847A CN202210056634.3A CN202210056634A CN114489847A CN 114489847 A CN114489847 A CN 114489847A CN 202210056634 A CN202210056634 A CN 202210056634A CN 114489847 A CN114489847 A CN 114489847A
- Authority
- CN
- China
- Prior art keywords
- service
- target
- manager
- service manager
- preset
- 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
Images
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/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
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
本公开实施例提出的进程管理器的管控方法、系统、设备及存储介质,涉及计算机技术领域。该方法公开了:通过启动预设的服务管理器并使服务管理器加载目标服务程序;根据服务管理器的协议地址与服务管理器建立通信连接,以管控服务管理器的目标服务程序;根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作。通过本公开实施例能够通过管理客户端与服务管理器之间的通信连接,根据预设管理命令实现对目标服务程序所对应的目标进程执行对应管理操作,从而实现统一管理进程功能、监控进程功能、容错恢复功能、内部窥探功能、接口规范功能、配置文件功能等,丰富了进程管理功能。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种进程管理器的管控方法、系统、设备及存储介质。
背景技术
相关技术中,在linux环境下开发软件,一般是用命令来查看服务程序的状态和停止服务程序,类似windows的任务管理器,在windows系统下,我们可以利用任务管理器来查看运行软件的状态以管理对应的任务进程。几乎所有进程创建、进程初始化、进程状态变迁、进程消亡整个生命周期都是由操作系统维护,同时用户通过操作系统提供的接口及工具也能完全实现对所有进程的基本管理:启动进程、停止进程、监控进程状态等。但在实际的项目开发过程中,发现这些基本的功能对程序(进程)管理远远达不到实际所需,比如:不能实现对进程的统一管理功能。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种进程管理器的管控方法、系统、设备及存储介质,能够通过管理客户端与服务管理器之间的通信连接,根据预设管理命令实现对目标服务程序所对应的目标进程执行对应管理操作,从而实现统一管理进程,丰富了进程管理功能。
为实现上述目的,本公开实施例的第一方面提出了一种进程管理器的管控方法,应用于管理客户端,包括:
启动预设的服务管理器并使服务管理器加载目标服务程序;
根据服务管理器的协议地址与服务管理器建立通信连接,以管控服务管理器的目标服务程序;
根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作。
在一些实施例中,在启动预设的服务管理器并使服务管理器加载目标服务程序之前,一种进程管理器的管控方法还包括:
将预编写的创建服务函数、释放服务函数、主入口函数组合成目标函数;
将目标函数添加至预设服务程序的初始代码数据中,组合成目标代码数据并得到目标服务程序。
在一些实施例中,启动预设的服务管理器并根据服务管理器加载目标服务程序,包括:
启动预设的服务管理器,以使服务管理器对目标服务程序中的目标代码数据进行编译处理,生成与目标服务程序对应的动态链接库;
服务管理器将与动态链接库所对应的服务配置文件放置到服务管理器的进程服务文件夹中。
在一些实施例中,根据服务管理器的协议地址与服务管理器建立通信连接,以管控服务管理器的目标服务程序,包括:
接收与目标服务程序对应的进程号,进程号是由服务管理器根据预设的获取进程函数获取得到的;
根据进程号和协议地址,与服务管理器建立通信连接,以管控服务管理器的目标服务程序;其中,通信连接是根据传输控制协议进行连接的。
在一些实施例中,预设管理命令为配置文件管理命令,根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作,包括:
根据配置文件管理命令,启动服务管理器并接收服务管理器完成启动的启动状态信息;
根据启动状态信息,发送配置文件管理命令至服务管理器,以使服务管理器扫描进程服务文件夹中的多个服务文件,从多个服务文件中筛选出拓展文件,并对拓展文件进行解析,得到目标服务程序的内容信息。
在一些实施例中,预设管理命令为容错恢复管理命令,根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作,包括:
根据容错恢复管理命令,获取与目标服务程序的目标进程对应的进程号;
根据进程号确定目标进程的运行状态;
若运行状态为未运行,则重启目标进程。
在一些实施例中,在根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作之后,一种进程管理器的管控方法还包括:
接收预设管理命令;
根据预设管理命令,对服务管理器中的目标进程进行对应的功能处理,并接收服务管理器反馈与功能处理对应的处理结果;
在预设的显示区域界面显示处理结果。
为实现上述目的,本公开实施例的第二方面提出了一种进程管理器的管控系统,包括:
加载模块,用于启动预设的服务管理器并使服务管理器加载目标服务程序;
建立模块,用于根据服务管理器的协议地址与服务管理器建立通信连接,以管控服务管理器的目标服务程序;
管理模块,用于根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作。
为实现上述目的,本公开实施例的第三方面提出了一种电子设备,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现:
如上述第一方面所述的一种进程管理器的管控方法。
为实现上述目的,本公开实施例的第四方面提出了一种存储介质,该存储介质是计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如上述第一方面所述的一种进程管理器的管控方法。
根据本发明实施例提供的进程管理器的管控方法、系统、设备及存储介质,至少具有如下有益效果:
本公开实施例提出的进程管理器的管控方法、系统、设备及存储介质,首先通过启动预设的服务管理器并使服务管理器加载目标服务程序;根据服务管理器的协议地址与服务管理器建立通信连接,以管控服务管理器的目标服务程序;根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作。通过本公开实施例能够通过管理客户端与服务管理器之间的通信连接,根据预设管理命令实现对目标服务程序所对应的目标进程执行对应管理操作,从而实现统一管理进程功能、监控进程功能、容错恢复功能、内部窥探功能、接口规范功能、配置文件功能等,丰富了进程管理功能。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
下面结合附图和实施例对本发明做进一步的说明,其中:
图1为本发明提供的一种进程管理器的管控方法的第一具体流程示意图;
图2为本发明提供的对图1中一种进程管理器的管控方法补充的第二具体流程示意图;
图3为图1中步骤S100的一具体流程示意图;
图4为图1中步骤S200的一具体流程示意图;
图5为图1中步骤S300的第一具体流程示意图;
图6为图1中步骤S300的第二具体流程示意图;
图7为本发明提供的对图1中一种进程管理器的管控方法补充的第三具体流程示意图;
图8是本发明提供的一种进程管理器的管控系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
首先,对本申请中涉及的若干名词进行解析:
Linux:全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统;就简单理解成操作系统,我们常用的windows也是操作系统的一种。
进程管理:进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等。linux下查看系统进程的命令是ps;windows下叫任务管理器。
服务管理器(serviceMgr.bin):用于管理系统服务的管理工具。一般常用于windows系统,使用这个工具可以启动、停止进程服务;设置进程服务是自动、手动启动或禁用;查看某个进程服务的相关信息;设置进程服务以什么用户启动等等(一般包括了超级管理员用户、管理员用户和游客用户);设置用户注销等。
管理客户端(mgrcli.bin):用于通过输入命令,通过与服务管理器的通信连接去管控目标服务程序的客户端,也称作命令行客户端。管理客户端是可独立运行的普通命令程序;管理客户端通过IP+端口号,连接服务管理器进行进程管理;管理客户端通过交互可实现:列进程列表,启动进程,关闭进程,重启进程;查看配置文件,在线调整进程配置(僻如日志等级);查询内部数据;通过serviceMgr.bin提供的tcp服务,任何支持socket编程的语言可实现自己管理界面。
目标服务程序:是指为了帮助用户使用与维护电脑,提供服务性手段并支持其他软件开发而编制的一类程序。目标服务程序是一类辅助性的程序,它提供各种运行所需的服务。可以在操作系统的控制下运行,也可以在没有操作系统的情况下独立运行,主要有工具软件、编辑程序、软件调试程序以及诊断程序等几种。
传输控制协议(TCP,Transmission Control Protocol):是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
动态链接库:其提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL文件中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL副本的内容。在Windows中,DLL多数情况下是带有".dll"扩展名的文件,但也可能是".ocx"或其他扩展名;Linux系统中常常是".so"的文件。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。
XML文件:可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。
http:超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。理解成一种通用的网络传输协议。
fork函数:fork调用用于创建一个新进程,称为子进程,它与进程(称为系统调用fork的进程)同时运行,此进程称为父进程。创建新的子进程后,两个进程将执行fork()系统调用之后的下一条指令。
在相关技术中,在linux环境下开发软件,一般是用命令来查看服务程序的状态和停止服务程序,类似windows的任务管理器,在windows系统下,我们可以利用任务管理器来查看运行软件的状态以管理对应的任务进程。几乎所有进程创建、进程初始化、进程状态变迁、进程消亡整个生命周期都是由操作系统维护,同时用户通过操作系统提供的接口及工具也能完全能实现对所有进程的基本管理:启动进程、停止进程、监控进程状态等。但在实际的项目开发过程中,发现这些基本的功能对程序(进程)管理远远达不到实际所需,比如:不能实现对进程的统一管理功能。因此,亟待解决此问题。
基于此,本公开实施例提出的进程管理器的管控方法能够通过管理客户端与服务管理器之间的通信连接,根据预设管理命令实现对目标服务程序所对应的目标进程执行对应管理操作,从而实现统一管理进程功能,丰富了进程管理功能。
其具体通过如下实施例进行说明,首先描述本公开实施例中的进程管理器的管控方法。
如图1所示,其为本申请实施例提供的一种进程管理器的管控方法的实施流程示意图,进程管理器的管控方法可以包括但不限于步骤S100至S300。
S100,启动预设的服务管理器并使服务管理器加载目标服务程序;
S200,根据服务管理器的协议地址与服务管理器建立通信连接,以管控服务管理器的目标服务程序;
S300,根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作。
在一些实施例的步骤S100中,启动预设的服务管理器并使服务管理器加载目标服务程序。可以理解的是,其具体执行步骤可以为,首先启动预设的服务管理器,以使服务管理器对目标服务程序中的目标代码数据进行编译处理,生成与目标服务程序对应的动态链接库,服务管理器将与动态链接库务配置文件放置到服务管理器的进程服务文件夹中。
需要说明的是,服务管理器(serviceMgr.bin):用于管理系统服务的管理工具。一般常用于windows系统,使用这个工具可以启动、停止进程服务;设置进程服务是自动、手动启动或禁用;查看某个进程服务的相关信息;设置进程服务以什么用户启动等等(一般包括了超级管理员用户、管理员用户和游客用户);设置用户注销等。
进一步的说明,服务管理器由多进程构成:主进程+工作进程。其中,主进程是一个单进程的后台程序,通过fork函数实现守护进程(daemon);主进程是一个支持多连接的tcp服务器,接收管理客户端的管理指令;主进程从磁盘(或数据库)获取服务清单及配置文件列表;主进程监控工作进程的生死,通过子进程退汇信号(退出信号);主进程同时集成http管理页面协议;主进程与工作进程通过socketpair创建的fd进行通讯;主进程在接收进程启动命令后fork副本,登记进程号等信息,创建背景线程(理解成隐藏线程,在一定条件下才有动作的线程)。
需要说明的是,目标服务程序:是指为了帮助用户使用与维护电脑,提供服务性手段并支持其他软件开发而编制的一类程序。目标服务程序是一类辅助性的程序,它提供各种运行所需的服务。可以在操作系统的控制下运行,也可以在没有操作系统的情况下独立运行,主要有工具软件、编辑程序、软件调试程序以及诊断程序等几种。
更进一步的,目标服务程序是按一定规则编写的动态库,其使用统一的命名规范,比如service.hello.so/dll,被服务管理器动态加载,且使用统一而可扩展的配置文件格式,比如XML文件。
在一些实施例的步骤S200中,根据服务管理器的协议地址与服务管理器建立通信连接,以管控服务管理器的目标服务程序。可以理解的是,其具体执行步骤可以为:首先接收与目标服务程序对应的进程号,进程号是由服务管理器根据预设的获取进程函数获取得到的,再根据进程号和协议地址,与服务管理器建立通信连接,以管控服务管理器的目标服务程序;其中,通信连接是根据传输控制协议进行连接的。
需要说明的是,传输控制协议(TCP,Transmission Control Protocol):是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP旨在适应支持多网络应用的分层协议层次结构。连接到不同但互连的计算机通信网络的主计算机中的成对进程之间依靠TCP提供可靠的通信服务。TCP假设它可以从较低级别的协议获得简单的,可能不可靠的数据报服务。原则上,TCP应该能够在从硬线连接到分组交换或电路交换网络的各种通信系统之上操作。
在一些实施例的步骤S300中,根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作。可以理解的是,当预设管理命令为配置文件管理命令时,可以根据配置文件管理命令,启动服务管理器并接收服务管理器完成启动的启动状态信息,根据启动状态信息,发送配置文件管理命令至服务管理器,以使服务管理器扫描进程服务文件夹中的多个服务文件,从多个服务文件中筛选出拓展文件,并对拓展文件进行解析,得到目标服务程序的内容信息。
进一步的,当预设管理命令为容错恢复管理命令时,根据容错恢复管理命令,获取与目标服务程序的目标进程对应的进程号;根据进程号确定目标进程的运行状态;若运行状态为未运行,则重启目标进程。
需要说明的是,预设管理命令还可以为监控管理命令,根据监控管理命令,所有目标服务程序对应的进程服务需要被服务管理器监控,在异常情况时将发出警报,进程服务能够在异常退出时实现自动重启,以实现监控功能。
在一些实施例中,参考图2所示,在步骤S100之前进程管理器的管控方法还可以包括但不限于步骤S101至S102。
S101,将预编写的创建服务函数、释放服务函数、主入口函数组合成目标函数;
S102,将目标函数添加至预设服务程序的初始代码数据中,组合成目标代码数据并得到目标服务程序。
在一些实施例的步骤S101中,将预编写的创建服务函数、释放服务函数、主入口函数组合成目标函数。可以理解的是,创建服务函数是用来创建服务程序的,释放服务函数是用来释放服务程序的,每个需要被管理的服务程序都需要加入创建服务函数和释放服务函数。
在一些实施例中,为了方便简化代码程序,可以用宏来封装创建服务函数和释放服务函数。
在一些实施例中,服务程序中也必须有一个名称为run的主入口函数,用于编译服务程序中的代码数据。
因此,将创建服务函数、释放服务函数、主入口函数组合成目标函数,用于加入至服务程序中,以管控对应的服务程序。
在一些实施例的步骤S102中,将目标函数添加至预设服务程序的初始代码数据中,组合成目标代码数据并得到目标服务程序。可以理解的是,将通过步骤S101组合的目标函数加入至预设服务程序的初始代码数据中,以组合成目标代码数据并得到目标服务程序,要说明的是,每个目标服务程序中都包括有步骤S101所得到的目标函数。
在一些实施例中,参考图3所示,步骤S100还可以包括但不限于步骤S110至S120。
S110,启动预设的服务管理器,以使服务管理器对目标服务程序中的目标代码数据进行编译处理,生成与目标服务程序对应的动态链接库;
S120,服务管理器将与动态链接库所对应的服务配置文件放置到服务管理器的进程服务文件夹中。
在一些实施例的步骤S110中,启动预设的服务管理器,以使服务管理器对目标服务程序中的目标代码数据进行编译处理,生成与目标服务程序对应的动态链接库。可以理解的是,根据启动服务管理器的启动命令启动预设的服务管理器,并根据已经启动的服务管理器对通过步骤S120得到的目标服务程序中的目标代码数据进行编译处理,从而生成于目标服务程序对应的动态链接库。
需要说明的是,动态链接库:其提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL文件中,该DLL包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL副本的内容。在Windows中,DLL多数情况下是带有".dll"扩展名的文件,但也可能是".ocx"或其他扩展名;Linux系统中常常是".so"的文件。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。
在一些实施例的步骤S120中,服务管理器将与动态链接库所对应的服务配置文件放置到服务管理器的进程服务文件夹中。可以理解的是,服务管理器将与动态链接库对应的服务配置文件放置到服务管理器的进程服务文件夹中,以用来通过加载进程服务文件夹直接加载服务配置文件。
在一些实施例中,将这个服务配置文件放到moccs/services/send目录下,进程服务文件夹(services)这个文件夹是必须要有的,send文件夹是使用者自己设置,这里添加send是为了区分有send和recv服务。
在一些实施例中,参考图4所示,步骤S200还可以包括但不限于步骤S210至S220。
S210,接收与目标服务程序对应的进程号,进程号是由服务管理器根据预设的获取进程函数获取得到的;
S220,根据进程号和协议地址,与服务管理器建立通信连接,以管控服务管理器的目标服务程序;其中,通信连接是根据传输控制协议进行连接的。
在一些实施例的步骤S210中,接收与目标服务程序对应的进程号,进程号是由服务管理器根据预设的获取进程函数获取得到的。可以理解的是,管理客户端接收与目标服务程序对应的进程号,要说明的是,进程号是通过服务管理器根据预设的获取进程函数得到的,其中获取进程函数可以为getpid函数,用于获取目标服务程序的进程号。
进一步地,通过调用linux系统命令pidof来查某个进程服务是否存在,进而就知道这个服务程序是否已经退出了,从而达到监控目标服务程序的目的;若获知目标服务程序不存在,则再次加载(启动)这个目标服务程序,从而也能达到自动重启的目的。
在一些实施例的步骤S220中,根据进程号和协议地址,与服务管理器建立通信连接,以管控服务管理器的目标服务程序;其中,通信连接是根据传输控制协议进行连接的。可以理解的是,根据步骤S210得到的进程号和协议地址(IP地址),使得管理客户端与服务管理器的目标服务程序建立通信连接,以用来使得通过管理客户端直接管控服务管理器的目标服务程序。
IP地址(Internet Protocol Address):是指互联网协议地址,又译为网际协议地址,是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
在一些实施例中,参考图5所示,步骤S300还可以包括但不限于步骤S310至S320。
S310,根据配置文件管理命令,启动服务管理器并接收服务管理器完成启动的启动状态信息;
S320,根据启动状态信息,发送配置文件管理命令至服务管理器,以使服务管理器扫描进程服务文件夹中的多个服务文件,从多个服务文件中筛选出拓展文件,并对拓展文件进行解析,得到目标服务程序的内容信息。
在一些实施例的步骤S310中,根据配置文件管理命令,启动服务管理器并接收服务管理器完成启动的启动状态信息。可以理解的是,当预设管理命令为配置文件管理命令时,管理客户端启动服务管理器并接收到服务管理器完成启动的启动状态信息。
在一些实施例的步骤S320中,根据启动状态信息,发送配置文件管理命令至服务管理器,以使服务管理器扫描进程服务文件夹中的多个服务文件,从多个服务文件中筛选出拓展文件,并对拓展文件进行解析,得到目标服务程序的内容信息。可以理解的是,管理客户端根据步骤S310得到的启动状态信息,管理客户端发送配置文件管理命令至服务管理器,以使服务管理器扫描进程服务文件夹中的多个服务文件,从多个服务文件中筛选出拓展文件,并对拓展文件进行解析,得到目标服务程序的内容信息。
在一些实施例中,在服务管理器启动后,由服务管理器去扫描文件夹services里面的目录结构,并保存在内存中。扫描services文件夹下的所有拓展文件(.xml文件),这里在services目录下有一个send文件夹里面有service.sendcmimsg.xml和service.sendswimsg.xml两个文件,就表示在send目录下有sendcmimsg和sendswimsg名称的两个目标服务程序,再解析XML文件内容就能获知关于这个目标服务程序的配置。
XML文件:可扩展标记语言,标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。
在一些实施例中,参考图6所示,步骤S300还可以包括但不限于步骤S330至S350。
S330,根据容错恢复管理命令,获取与目标服务程序的目标进程对应的进程号;
S340,根据进程号确定目标进程的运行状态;
S350,若运行状态为未运行,则重启目标进程。
在一些实施例的步骤S330中,根据容错恢复管理命令,获取与目标服务程序的目标进程对应的进程号。可以理解的是,当预设管理命令为容错恢复管理命令时,管理客户端接收到容错恢复管理命令,并根据该容错恢复管理命令通过与服务管理器之间的通信连接获取到目标服务程序所对应的目标进程的进程号。
在一些实施例的步骤S340中,根据进程号确定目标进程的运行状态。可以理解的是,根据步骤S330得到的目标进程的进程号,查看目标进程的运行状态。
需要说明的是,目标进程的运行状态可以为正在运行状态,则可以在管理客户端输入预设管理命令,从而结合目标进程的进程号对对应的目标进程执行与预设管理命令对应的功能操作。
在一些实施例的步骤S350中,若运行状态为未运行,则重启目标进程。可以理解的是,当查看到目标进程的运行状态是未运行时,则重启目标进程。
需要说明的是,目标进程的运行状态为运行,也可能是目标进程对应的目标服务程序异常退出正常运行,从而实现自动重启目标进程。
进一步地,重启目标进程时,可以通过在后端查看日志记录,以此判断监控命令是否检测到目标服务程序对应的目标进程异常退出且实现自动重启,并可以查看到目标进程重启的次数,并将其与在管理客户端的显示区域上显示的重启次数是否相同,以此判断是否正确的重启目标进程。
在一些实施例中,参考图7所示,进程管理器的管控方法还可以包括但不限于步骤S410至S430。
S410,接收预设管理命令;
S420,根据预设管理命令,对服务管理器中的目标进程进行对应的功能处理,并接收服务管理器反馈与功能处理对应的处理结果;
S430,在预设的显示区域界面显示处理结果。
在一些实施例的步骤S410中,接收预设管理命令。可以理解的是,用户可以根据功能需求在管理客户端的输入区域输入预设管理命令,从而去满足对应的功能需求。
进一步地,预设管理命令可以为:help:输入help,显示帮助信息,exit:退出当前程序,cd:切换服务目录,ls:查看服务列表,start:启动服务,reload:重载配置-生效需重启等。
在一些实施例的步骤S420中,根据预设管理命令,对服务管理器中的目标进程进行对应的功能处理,并接收服务管理器反馈与功能处理对应的处理结果。可以理解的是,管理客户端根据输入在输入区域的预设管理命令,对服务管理器中的目标进程进行对应的功能处理,服务管理器将与功能处理对应的处理结果再反馈至管理客户端。
在一些实施例中,比如预设管理命令为:showcfg,用于查看目标服务程序内部数据,通过该管理命令,可以在管理客户端上远程查看这个目标服务程序的配置信息,通常配置文件是放到服务管理器中,直接登录到服务管理器上一般是不被允许的。因此,这样可以在另外一台管理客户端的电脑上查看目标进程的配置信息。
在一些实施例的步骤S430中,在预设的显示区域界面显示处理结果。可以理解的是,管理客户端在接收到服务管理器反馈与功能处理对应的处理结果之后,在管理客户端的显示区域界面显示该处理结果,以方便用户查看功能处理结果。
通过本公开实施例上述的一种进程管理器的管控方法能够通过管理客户端与服务管理器之间的通信连接,根据预设管理命令实现对目标服务程序所对应的目标进程执行对应管理操作,从而实现统一管理进程功能、监控进程功能、容错恢复功能、内部窥探功能、接口规范功能、配置文件功能等,大大的丰富了进程管理功能。
另外,本公开实施例还提供一种进程管理器的管控系统,可以实现上述一种进程管理器的管控方法,该系统包括:
加载模块,用于启动预设的服务管理器并使服务管理器加载目标服务程序;
建立模块,用于根据服务管理器的协议地址与服务管理器建立通信连接,以管控服务管理器的目标服务程序;
管理模块,用于根据预设管理命令,对目标服务程序所对应的目标进程执行对应管理操作。
参考图8所示,本发明提供的一种进程管理器的管控系统的结构示意图。通过本公开实施例提供的一种进程管理器的管控系统,能够通过管理客户端与服务管理器之间的通信连接,根据预设管理命令实现对目标服务程序所对应的目标进程执行对应管理操作,从而实现统一管理进程功能、监控进程功能、容错恢复功能、内部窥探功能、接口规范功能、配置文件功能等,大大的丰富了进程管理功能。且对于维护和后期管理方面,进程管理器的管控系统区别系统自带的命令来说,可实现功能更多,且更加方便。
另外,本公开实施例还提供一种电子设备,该设备包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现:
如本公开实施例第一方面提供的一种进程管理器的管控方法。
另外,本公开实施例还提供一种存储介质存储有可执行指令,可执行指令能被计算机执行,使计算机执行如本公开实施例第一方面提供的一种进程管理器的管控方法。
存储器作为一种非暂态存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。
Claims (10)
1.进程管理器的管控方法,其特征在于,应用于管理客户端,包括:
启动预设的服务管理器并使所述服务管理器加载目标服务程序;
根据所述服务管理器的协议地址与所述服务管理器建立通信连接,以管控所述服务管理器的所述目标服务程序;
根据预设管理命令,对所述目标服务程序所对应的目标进程执行对应管理操作。
2.根据权利要求1所述的进程管理器的管控方法,其特征在于,在所述启动预设的服务管理器并使所述服务管理器加载目标服务程序之前,所述方法还包括:
将预编写的创建服务函数、释放服务函数、主入口函数组合成目标函数;
将所述目标函数添加至预设服务程序的初始代码数据中,组合成目标代码数据并得到所述目标服务程序。
3.根据权利要求2所述的进程管理器的管控方法,其特征在于,所述启动预设的服务管理器并根据所述服务管理器加载目标服务程序,包括:
所述启动预设的服务管理器,以使所述服务管理器对所述目标服务程序中的所述目标代码数据进行编译处理,生成与所述目标服务程序对应的动态链接库;
所述服务管理器将与所述动态链接库所对应的服务配置文件放置到所述服务管理器的进程服务文件夹中。
4.根据权利要求3所述的进程管理器的管控方法,其特征在于,所述根据所述服务管理器的协议地址与所述服务管理器建立通信连接,以管控所述服务管理器的所述目标服务程序,包括:
接收与所述目标服务程序对应的进程号,所述进程号是由所述服务管理器根据预设的获取进程函数获取得到的;
根据所述进程号和所述协议地址,与所述服务管理器建立所述通信连接,以管控所述服务管理器的所述目标服务程序;其中,所述通信连接是根据传输控制协议进行连接的。
5.根据权利要求4所述的进程管理器的管控方法,其特征在于,所述预设管理命令为配置文件管理命令,所述根据预设管理命令,对所述目标服务程序所对应的目标进程执行对应管理操作,包括:
根据所述配置文件管理命令,启动所述服务管理器并接收所述服务管理器完成启动的启动状态信息;
根据所述启动状态信息,发送所述配置文件管理命令至所述服务管理器,以使所述服务管理器扫描所述进程服务文件夹中的多个服务文件,从所述多个服务文件中筛选出拓展文件,并对所述拓展文件进行解析,得到所述目标服务程序的内容信息。
6.根据权利要求5任所述的进程管理器的管控方法,其特征在于,所述预设管理命令为容错恢复管理命令,所述根据预设管理命令,对所述目标服务程序所对应的目标进程执行对应管理操作,包括:
根据所述容错恢复管理命令,获取与所述目标服务程序的目标进程对应的进程号;
根据所述进程号确定所述目标进程的运行状态;
若所述运行状态为未运行,则重启所述目标进程。
7.根据权利要求1至6任一项所述的进程管理器的管控方法,其特征在于,在所述根据预设管理命令,对所述目标服务程序所对应的目标进程执行对应管理操作之后,所述方法还包括:
接收所述预设管理命令;
根据所述预设管理命令,对所述服务管理器中的所述目标进程进行对应的功能处理,并接收所述服务管理器反馈与所述功能处理对应的处理结果;
在预设的显示区域界面显示所述处理结果。
8.进程管理器的管控系统,其特征在于,包括:
加载模块,用于启动预设的服务管理器并使所述服务管理器加载目标服务程序;
建立模块,用于根据所述服务管理器的协议地址与所述服务管理器建立通信连接,以管控所述服务管理器的所述目标服务程序;
管理模块,用于根据预设管理命令,对所述目标服务程序所对应的目标进程执行对应管理操作。
9.一种电子设备,其特征在于,包括:
至少一个存储器;
至少一个处理器;
至少一个计算机程序;
所述计算机程序被存储在存储器中,处理器执行所述至少一个计算机程序以实现:
如权利要求1至7任一项所述的进程管理器的管控方法。
10.存储介质,其特征在于,所述存储介质存储有可执行指令,可执行指令能被计算机执行,使所述计算机执行:
如权利要求1至7任一项所述的进程管理器的管控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210056634.3A CN114489847A (zh) | 2022-01-18 | 2022-01-18 | 进程管理器的管控方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210056634.3A CN114489847A (zh) | 2022-01-18 | 2022-01-18 | 进程管理器的管控方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489847A true CN114489847A (zh) | 2022-05-13 |
Family
ID=81472593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210056634.3A Pending CN114489847A (zh) | 2022-01-18 | 2022-01-18 | 进程管理器的管控方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489847A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272284A (zh) * | 2023-09-13 | 2023-12-22 | 河北纬坤电子科技有限公司 | 应用程序的管控系统、方法、应用服务器及介质 |
-
2022
- 2022-01-18 CN CN202210056634.3A patent/CN114489847A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117272284A (zh) * | 2023-09-13 | 2023-12-22 | 河北纬坤电子科技有限公司 | 应用程序的管控系统、方法、应用服务器及介质 |
CN117272284B (zh) * | 2023-09-13 | 2024-04-12 | 河北纬坤电子科技有限公司 | 应用程序的管控系统、方法、应用服务器及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11726828B2 (en) | Managing a virtualized application workspace on a managed computing device | |
US7203940B2 (en) | Automated installation of an application | |
US20210133002A1 (en) | Using scripts to bootstrap applications with metadata from a template | |
US20150212708A1 (en) | Providing application and device management using entitlements | |
US6871223B2 (en) | System and method for agent reporting in to server | |
US7856496B2 (en) | Information gathering tool for systems administration | |
CN109614167B (zh) | 一种管理插件的方法和系统 | |
US20050195390A1 (en) | Method of testing open services gateway initiative service platform and test tool using the method | |
Tiderko et al. | The ROS multimaster extension for simplified deployment of multi-robot systems | |
US20030221094A1 (en) | Method and system for configuring a computer | |
US20080140834A1 (en) | Information processing apparatus and method | |
WO2021057605A1 (zh) | 设备管理方法、装置、系统、设备及存储介质 | |
US7275250B1 (en) | Method and apparatus for correlating events | |
CN114448895A (zh) | 一种应用访问方法、装置、设备及介质 | |
CN113726834A (zh) | 消息路由的方法、装置、系统、设备及介质 | |
US7043726B2 (en) | Binding of processes in network systems | |
CN114489847A (zh) | 进程管理器的管控方法、系统、设备及存储介质 | |
WO2003093959A2 (en) | Secure transmission and installation of an application | |
Cisco | Release Notes for Cisco Element Management Framework v3.2 | |
CN115129348A (zh) | 应用程序的资源更新方法、装置、设备及可读存储介质 | |
Cisco | Release Notes for Cisco Element Management Framework v3.1 | |
KR102118666B1 (ko) | 웹브라우저를 위한 라이브러리 구동 및 업데이트 방법, 장치 및 프로그램 | |
Chesneau | Gunicorn documentation | |
CN118132120A (zh) | 一种业务系统的更新方法及装置、电子设备、存储介质 | |
Van Den Bossche et al. | An OSGi compatible implementation of a Java resource monitor |
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 |