发明名称 一种基于进程间继承关系的爪哇程序进程守护方法
摘要 基于进程间继承关系的爪哇程序进程守护方法是一种在windows系统(一种操作系统的名称)中,针对爪哇程序(使用爪哇编程语言开发的程序,以下称java程序)进行守护的方法。主要用来解决被守护的java程序进程的鉴别和确定,并对该java程序的运行状态进行监控,防止其意外终止运行,该方法在被守护的爪哇程序进程与守护程序进程之间建立一种父子继承关系,并基于这种继承关系由守护程序进程来唯一确定被守护的爪哇程序进程;基于被守护的爪哇程序进程的内核对象状态确定被守护的爪哇程序的运行状态。
申请公布号 CN102103676B 申请公布日期 2013.09.25
申请号 CN201110049041.6 申请日期 2011.02.28
申请人 南京邮电大学 发明人 王汝传;李伟;李鹏;张伟;孙力娟;黄海平
分类号 G06F21/52(2013.01)I 主分类号 G06F21/52(2013.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 叶连生
主权项 一种基于进程间继承关系的爪哇程序进程守护方法,其特征在于该方法在被守护的爪哇程序进程与守护程序进程之间建立一种父子继承关系,并基于这种继承关系由守护程序进程来唯一确定被守护的爪哇程序进程;a.基于父子继承关系确定被守护的爪哇程序进程的方法为:步骤a1).被守护的爪哇程序进程启动守护程序进程,这样被守护的爪哇程序进程为父进程,守护程序进程成为被守护的爪哇程序进程的子进程,在这两个进程之间建立一种继承关系,一个子进程只有一个父进程,由守护程序进程来唯一确定被守护的爪哇程序进程;步骤a2).守护程序进程获得自身进程标识符PID,该PID在守护程序进程运行期间唯一地标识守护程序进程,使用进程名字标识一个进程并不准确,系统中同时运行多个同名的进程,使用系统应用程序编程接口即可获得守护程序进程的PID,这样做有利于提高程序的移植性;步骤a3).守护程序进程对系统拍快照,快照是操作系统为所有当前运行的进程、线程的当前信息状态制作的一个只读副本,具体表现为一组数据结构,其中的每个数据结构又包含各个成员数据,这些成员含有进程名字、进程执行路径、进程PID和父进程PID的信息,使用windows操作系统提供的函数库Toolhelp32获取系统快照;步骤a4).守护程序进程从系统快照中找到包含守护程序进程信息的数据结构,在步骤a3)获得的一组数据结构中,守护进程需要搜索其中的每个数据结构,将获得的一组数据结构中的PID成员字段和守护程序进程在步骤a2)中获得的自身PID进行匹配,一旦匹配即找到包含守护程序进程信息的数据结构;步骤a5).保存父进程PID即被守护的爪哇程序进程PID,在包含守护程序进程信息的数据结构中有一个成员记录着守护程序进程的父进程PID,这个PID唯一地标识被守护的爪哇程序进程,这样就不必担心操作系统中同时有多个爪哇程序进程在运行,将该父进程PID的值提取并保存起来;b.基于被守护的爪哇程序进程的内核对象状态确定被守护的爪哇程序的运行状态的方法为:步骤b1).守护程序进程根据保存的父进程PID通过系统的应用程序编程接 口打开被守护的爪哇程序进程,应用程序编程接口会返回一个句柄,该句柄标识被守护的爪哇程序进程的内核对象,使用该句柄即意味着对被守护的爪哇程序进程的操作;步骤b2).守护程序进程将步骤b1中返回的爪哇程序进程内核对象句柄传给应用程序编程接口来访问被守护的爪哇程序进程,这时守护程序进程进入阻塞状态,直到被守护的爪哇程序进程内核对象被触发才继续执行;步骤b3).当被守护的爪哇程序进程不在运行时,操作系统触发该进程的内核对象,守护程序进程继续执行,这时守护程序进程重新启动被守护的爪哇程序;步骤b4).守护程序进程自身退出运行,至此它已经完成守护任务,由它重新启动的爪哇程序运行后会启动一个新的守护程序进程,整个执行流程转到步骤a1)。
地址 210003 江苏省南京市新模范马路66号