太阳城集团

  • / 21
  • 下载费用:30 金币  

一种进程ID管理方法、装置及计算机可读介质.pdf

摘要
申请专利号:

太阳城集团CN201611162146.1

申请日:

2016.12.15

公开号:

CN106775980A

公开日:

2017.05.31

当前法律状态:

实审

有效性:

审中

法律详情: 实质审查的生效IPC(主分类):G06F 9/48申请日:20161215|||公开
IPC分类号: G06F9/48 主分类号: G06F9/48
申请人: 北京奇虎科技有限公司
发明人: 谭艳平
地址: 100088 北京市西城区新街口外大街28号D座112室(德胜园区)
优先权:
专利代理机构: 北京中强智尚知识产权代理有限公司 11448 代理人: 王书彪;刘艳芬
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201611162146.1

授权太阳城集团号:

|||

法律状态太阳城集团日:

2017.06.23|||2017.05.31

法律状态类型:

太阳城集团实质审查的生效|||公开

摘要

本发明实施例公开了一种进程ID管理方法及装置,其中,该方法包括:接收针对目标进程的进程ID文件创建指令;根据所述进程ID文件创建指令,确定所述目标进程对应的默认进程ID文件名及临时进程ID文件名;判断是否存在使用了所述默认进程ID文件名的第一进程,如果是,创建文件名为所述临时进程ID文件名的临时进程ID文件;将所述目标进程的进程ID写入所述临时进程ID文件。该装置包括:接收模块、获取模块、判断模块及执行模块。本发明实施例可以提高对进程进行管理的效果。

权利要求书

1.一种进程ID管理方法,其特征在于,包括:
接收针对目标进程的进程ID文件创建指令;
根据所述进程ID文件创建指令,确定所述目标进程对应的默认进程ID文件名及临时进
程ID文件名;
判断是否存在使用了所述默认进程ID文件名的第一进程,如果是,创建文件名为所述
临时进程ID文件名的临时进程ID文件;
将所述目标进程的进程ID写入所述临时进程ID文件。
2.根据权利要求1所述的方法,其特征在于,
所述判断是否存在使用了所述默认进程ID文件名的第一进程,包括:
判断是否存在文件名为所述默认进程ID文件名的第一进程ID文件;
判断所述第一进程ID文件对应的第一进程是否存在;
如果两个所述判断的结果均为是,则判定存在使用了所述默认进程ID文件名的所述第
一进程。
3.根据权利要求2所述的方法,其特征在于,
当判断出不存在文件名为所述默认进程ID文件名的所述第一进程ID文件时,
进一步包括:
创建文件名为所述默认进程ID文件名的默认进程ID文件;
将所述目标进程的进程ID写入所述默认进程ID文件。
4.根据权利要求2所述的方法,其特征在于,
当判断出存在文件名为所述默认进程ID文件名的所述第一进程ID文件,且判断出不存
在所述第一进程ID文件对应的所述第一进程时,
进一步包括:
将所述目标进程的进程ID更新到所述第一进程ID文件中。
5.根据权利要求1至4中任一所述的方法,其特征在于,
在所述将所述目标进程的进程ID写入所述临时进程ID文件之后,进一步包括:
接收针对所述第一进程的进程ID文件删除指令;
将所述第一进程的进程ID文件删除;
将所述临时进程ID文件的文件名重命名为所述默认进程ID文件名。
6.一种进程ID管理装置,其特征在于,包括:接收模块、获取模块、判断模块及执行模
块;
所述接收模块,用于接收针对目标进程的进程ID文件创建指令;
所述获取模块,用于根据所述接收模块接收到的所述进程ID文件创建指令,确定所述
目标进程对应的默认进程ID文件名及临时进程ID文件名;
所述判断模块,用于判断是否存在使用了所述获取模块获取到的所述默认进程ID文件
名的第一进程;
所述执行模块,用于根据所述判断模块的判断结果,如果是,创建文件名为所述临时进
程ID文件名的临时进程ID文件,并将所述目标进程的进程ID写入所述临时进程ID文件。
7.根据权利要求6所述的装置,其特征在于,
所述判断模块,用于判断是否存在文件名为所述默认进程ID文件名的第一进程ID文
件,以及判断所述第一进程ID文件对应的第一进程是否存在,如果两个所述判断的结果均
为是,则判定存在使用了所述默认进程ID文件名的所述第一进程。
8.根据权利要求7所述的装置,其特征在于,
所述执行模块,进一步用于当所述判断模块判断出不存在文件名为所述默认进程ID文
件名的所述第一进程ID文件时,创建文件名为所述默认进程ID文件名的默认进程ID文件,
并将所述目标进程的进程ID写入所述默认进程ID文件。
9.根据权利要求7所述的装置,其特征在于,
所述执行模块,进一步用于当所述判断模块判断出存在文件名为所述默认进程ID文件
名的所述第一进程ID文件,且判断出不存在所述第一进程ID文件对应的所述第一进程时,
将所述目标进程的进程ID更新到所述第一进程ID文件中。
10.根据权利要求6至9中任一所述的装置,其特征在于,
所述接收模块,进一步用于接收针对所述第一进程的进程ID文件删除指令;
所述执行模块,进一步用于将所述第一进程的进程ID文件删除,并将所述临时进程ID
文件的文件名重命名为所述默认进程ID文件名。

说明书

一种进程ID管理方法、装置及计算机可读介质

技术领域

本发明涉及互联网技术领域,特别涉及一种进程ID管理方法、装置。

背景技术

进程ID(processID,PID)是大多数操作系统的内核用于唯一标识进程的数值,由
于不同的进程对应有不同的进程ID,因而可以通过进程ID对相应的进程进行控制。

目前通过进程ID对进程进行管理时,将进程ID写入到一个文件中形成进程ID文件
并进行存储,在操作系统运维的过程中可以通过读取进程ID文件中的进程ID,来对相应的
进程进行管理。

针对于目前通过管理进程ID对进程进行管理的方法,当应用程序平滑升级或用户
重复启动同一应用程序时,有两个相同的进程同时运行,由于对应于同一个进程的进程ID
文件名相同,会造成进程ID被覆盖。进程ID被覆盖后,将无法对相应的进程进行管理,造成
对进程进行管理的效果较差。

发明内容

本发明实施例所要解决的一个技术问题是:提供一种能够提高进程管理效果的进
程ID管理方法、装置。

一方面,本发明实施例提供了一种进程ID管理方法,包括:

接收针对目标进程的进程ID文件创建指令;

根据所述进程ID文件创建指令,确定所述目标进程对应的默认进程ID文件名及临
时进程ID文件名;

判断是否存在使用了所述默认进程ID文件名的第一进程,如果是,创建文件名为
所述临时进程ID文件名的临时进程ID文件;

将所述目标进程的进程ID写入所述临时进程ID文件。

可选地,所述判断是否存在使用了所述默认进程ID文件名的第一进程,包括:

判断是否存在文件名为所述默认进程ID文件名的第一进程ID文件;

判断所述第一进程ID文件对应的第一进程是否存在;

如果两个所述判断的结果均为是,则判定存在使用了所述默认进程ID文件名的所
述第一进程。

可选地,当判断出不存在文件名为所述默认进程ID文件名的所述第一进程ID文件
时,

进一步包括:

创建文件名为所述默认进程ID文件名的默认进程ID文件;

将所述目标进程的进程ID写入所述默认进程ID文件。

可选地,当判断出存在文件名为所述默认进程ID文件名的所述第一进程ID文件,
且判断出不存在所述第一进程ID文件对应的所述第一进程时,

进一步包括:

将所述目标进程的进程ID更新到所述第一进程ID文件中。

可选地,所述判断所述第一进程ID文件对应的第一进程是否存在,包括:

从所述第一进程ID文件中读取第一进程ID;

根据所述第一进程ID,调用进程打开函数;

判断所述进程打开函数是否调用成功,如果是,判定所述第一进程存在,否则判定
所述第一进程不存在。

可选地,所述判断所述第一进程ID文件对应的第一进程是否存在,包括:

从所述第一进程ID文件中读取第一进程ID;

根据所述第一进程ID获取所述第一进程的至少一个窗口句柄;

根据所述至少一个窗口句柄,通过窗口判断函数判断所述至少一个窗口句柄对应
的各个窗口是否存在,如果是,判定所述第一进程存在,否则判定所述第一进程不存在。

可选地,在判断出不存在使用了所述默认进程ID文件名的第一进程之后,进一步
包括:

得到文件名为所述默认进程ID文件名的默认进程ID文件;

将所述目标进程的进程ID写入所述默认进程ID文件。

可选地,在所述将所述目标进程的进程ID写入所述临时进程ID文件之后,进一步
包括:

接收针对所述第一进程的进程ID文件删除指令;

将所述第一进程的进程ID文件删除;

将所述临时进程ID文件的文件名重命名为所述默认进程ID文件名。

可选地,所述临时进程ID文件名包括:所述默认进程ID文件名及临时文件后缀名。

可选地,所述将所述临时进程ID文件的文件名重命名为所述默认进程ID文件名,
包括:

将所述临时进程ID文件的文件名中包括的临时文件后缀名删除,形成文件名为所
述默认进程ID文件名的所述默认进程ID文件。

另一方面,本发明实施例还提供了一种进程ID管理装置,包括:接收模块、获取模
块、判断模块及执行模块;

所述接收模块,用于接收针对目标进程的进程ID文件创建指令;

所述获取模块,用于根据所述接收模块接收到的所述进程ID文件创建指令,确定
所述目标进程对应的默认进程ID文件名及临时进程ID文件名;

所述判断模块,用于判断是否存在使用了所述获取模块获取到的所述默认进程ID
文件名的第一进程;

所述执行模块,用于根据所述判断模块的判断结果,如果是,创建文件名为所述临
时进程ID文件名的临时进程ID文件,并将所述目标进程的进程ID写入所述临时进程ID文
件。

可选地,

所述判断模块,用于判断是否存在文件名为所述默认进程ID文件名的第一进程ID
文件,以及判断所述第一进程ID文件对应的第一进程是否存在,如果两个所述判断的结果
均为是,则判定存存在使用了所述默认进程ID文件名的所述第一进程。

可选地,

所述执行模块,进一步用于当所述判断模块判断出不存在文件名为所述默认进程
ID文件名的所述第一进程ID文件时,创建文件名为所述默认进程ID文件名的默认进程ID文
件,并将所述目标进程的进程ID写入所述默认进程ID文件。

可选地,

所述执行模块,进一步用于当所述判断模块判断出存在文件名为所述默认进程ID
文件名的所述第一进程ID文件,且判断出不存在所述第一进程ID文件对应的所述第一进程
时,将所述目标进程的进程ID更新到所述第一进程ID文件中。

可选地,

所述判断模块包括:第一判断单元;

所述第一判断单元,用于从所述第一进程ID文件中读取第一进程ID;根据所述第
一进程ID,调用进程打开函数;判断所述进程打开函数是否调用成功,如果是,判定所述第
一进程存在,否则判定所述第一进程不存在。

可选地,

所述判断模块包括:第二判断单元;

所述第二判断单元,用于从所述第一进程ID文件中读取第一进程ID;根据所述第
一进程ID获取所述第一进程的至少一个窗口句柄;根据所述至少一个窗口句柄,通过窗口
判断函数判断所述至少一个窗口句柄对应的各个窗口是否存在,如果是,判定所述第一进
程存在,否则判定所述第一进程不存在。

可选地,

所述执行模块,进一步用于在所述判断模块判断出不存在使用了所述默认进程ID
文件名的第一进程之后,得到文件名为所述默认进程ID文件名的默认进程ID文件,并将所
述目标进程的进程ID写入所述默认进程ID文件。

可选地,

所述接收模块,进一步用于接收针对所述第一进程的进程ID文件删除指令;

所述执行模块,进一步用于将所述第一进程的进程ID文件删除,并将所述临时进
程ID文件的文件名重命名为所述默认进程ID文件名。

可选地,

所述执行模块包括:重命名单元;

所述重命名单元,用于在所述临时进程ID文件名包括所述默认进程ID文件名及临
时文件后缀名时,将所述临时进程ID文件的文件名中包括的临时文件后缀名删除,形成文
件名为所述默认进程ID文件名的所述默认进程ID文件。

第三方面,本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上
存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述进程ID管
理方法实施例中任一所述的方法。

本发明实施例提供的进程ID管理方法、装置及计算机可读介质,当接收到针对目
标进程的进程ID文件创建指令后,确定模块进程对应的默认进程ID文件名和临时进程ID文
件名,如果确定出的默认进程ID文件名已经被其他的进程所使用,则创建文件名为临时进
程ID文件名的临时进程ID文件,将目标进程的进程ID写入该临时进程ID文件中。这样,当同
一进程重复启动时,在后启动进程的进程ID不会对在前启动进程的进程ID造成覆盖,从而
能够防止无法通过进程ID对在前启动进程进行管理的情况出现,提高了对进程进行管理的
效果。

基于本发明上述实施例提供的进程ID管理方法、装置及计算机可读介质,下面通
过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释
本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为本发明方法一个实施例提供的一种进程ID管理方法的流程图。

图2为本发明方法一个实施例提供的一种进程ID文件创建方法的流程图;

图3是本发明方法一个实施例提供的一种进程ID文件删除方法的流程图;

图4是本发明装置一个实施例提供的一种进程ID文件管理装置的结构示意图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具
体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本
发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际
的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明
及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适
当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一
个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

如图1所示,本发明一个实施例提供了一种进程ID管理方法,该方法可以包括以下
步骤:

步骤101:接收针对目标进程的进程ID文件创建指令;

步骤102:根据所述进程ID文件创建指令,确定所述目标进程对应的默认进程ID文
件名及临时进程ID文件名;

步骤103:判断是否存在使用了所述默认进程ID文件名的第一进程,如果是,创建
文件名为所述临时进程ID文件名的临时进程ID文件;

步骤104:将所述目标进程的进程ID写入所述临时进程ID文件。

本发明实施例提供了一种进程ID管理方法,当接收到针对目标进程的进程ID文件
创建指令后,确定模块进程对应的默认进程ID文件名和临时进程ID文件名,如果确定出的
默认进程ID文件名已经被其他的进程所使用,则创建文件名为临时进程ID文件名的临时进
程ID文件,将目标进程的进程ID写入该临时进程ID文件中。这样,当同一进程重复启动时,
在后启动进程的进程ID不会对在前启动进程的进程ID造成覆盖,从而能够防止无法通过进
程ID对在前启动进程进行管理的情况出现,提高了对进程进行管理的效果。

在本发明一个实施例中,步骤103中判断是否存在使用了所述默认进程ID文件名
的第一进程时,可以依次执行如下两个判断步骤:

第一判断:判断是否存在文件名为所述默认进程ID文件名的第一进程ID文件;

第二判断:判断所述第一进程ID文件对应的第一进程是否存在;

如果第一判断和第二判断的判断结果均为是,则判定存在使用了所述默认进程ID
文件名的第一进程,否则判定不存在使用了所述默认进程ID文件名的第一进程。

具体地,在确定目标进程对应的默认进程ID文件名后,判断是否存在文件名为所
述默认进程ID文件名的第一进程ID文件,如果是,说明所述默认进程ID文件名已经被第一
进程ID文件占用,但是第一进程ID文件是否有效仍不确定;进而判断所述第一进程ID文件
对应的第一进程是否存在,如果是,说明第一进程正在运行,此时第一进程ID文件是有效
的。经过第一判断和第二判断两个判断过程,如果两个判断的结果均为是,说明默认进程ID
文件名已经被占用,并且占用默认进程ID文件名的第一进程ID文件用于管理第一进程,默
认进程ID文件名被存在的第一进程所使用。通过第一判断和第二判断两个判断过程,可以
准确判断出默认进程ID文件名是否被使用,从而能够防止由于误判造成的进程ID文件名资
源浪费或进程管理不全面的情况出现。

在本发明一个实施例中,不存在使用了所述默认进程ID文件名的第一进程具有以
下两种情况:

情况一:不存在文件名为默认进程ID文件名的第一进程ID文件;

情况二:存在文件名为默认进程ID文件名的第一进程ID文件,但第一进程ID文件
对应的第一进程不存在。

针对于情况一:

当不存在文件名为默认进程ID文件名的第一进程ID文件,即上述第一判断的结果
为否时,不存在任何一个进程ID文件的文件名为目标进程对应的默认进程ID文件名,默认
进程ID文件名未被占用。此时创建一个文件名为所述默认进程ID文件名的默认进程ID文
件,将目标进程的进程ID写入创建的默认进程ID文件中。

由于没有任何一个进程ID文件的文件名为默认进程ID文件名,所以可以创建默认
进程ID文件来存储目标进程的进程ID,在不覆盖其他进程ID的前提下对目标进程的进程ID
进行存储,能够对目标进程进行有效的管理。

针对情况二:

当存在文件名为默认进程ID文件名的第一进程ID文件,但第一进程ID文件对应的
第一进程不存在时,即上述第一判断的结果为是,第二判断的结果为否,虽然存在文件名为
默认进程ID文件名的第一进程ID文件,但是该第一进程ID文件对应的第一进程已经退出不
再运行,第一进程ID文件处于无效状态。此时,由于第一进程ID文件已经没有用处,直接将
目标进程的进程ID更新到第一进程ID文件中,替换第一进程ID文件中原有的进程ID。更新
完成后,第一进程ID文件中存储有目标进程的进程ID,其文件名为目标进程对应的默认进
程ID文件名,此时第一进程ID文件作为目标进程的默认进程ID文件存在。

在判断出存在文件名为默认进程ID文件名的第一进程ID文件,但第一进程ID文件
对应的第一进程不存在时,对第一进程ID文件进行更新,作为目标进程的默认进程ID文件,
可以对无效的第一进程ID文件进行再次利用,无需重新创建进程ID文件,节省系统的资源,
提高系统的运算速率,进而提高对进程进行管理的效率。

在本发明一个实施例中,针对上述第二判断,即判断第一进程ID文件对应的第一
进程是否存在的过程可以通过以下两种方式实现:

方式一:通过进程打开函数实现;

方式二:通过窗口判断函数实现。

针对方式一:

在判断出文件名为默认进程ID文件名的第一进程ID文件存在后,从第一进程ID文
件中读取第一进程ID,调用进程打开函数去对第一进程ID对应的第一进程进行打开,比如
调用打开函数Open Process,如果打开函数调用成功,说明第一进程ID文件对应的第一进
程正在运行,从而判定第一进程存在;如果打开函数调用失败,说明第一进程ID文件对应的
第一已经退出,从而判断第一进程不存在。

针对方式二:

在判断出文件名为默认进程ID文件名的第一进程ID文件存在后,从第一进程ID文
件中读取第一进程ID,进一步根据第一进程ID获取第一进程的至少一个窗口句柄,通过窗
口判断函数判断至少一个窗口句柄对应的各个窗口是否存在,比如通过窗口判断函数if
(IsWindow())判断各个窗口句柄对应的窗口是否存在,如果是,说明第一进程的窗口存
在,第一进程处于运行状态,判定第一进程存在;如果否,说明第一进程的窗口已经不存在,
第一进程已经不再运行,判定第一进程不存在。

通过以上方式一和方式二两种方式来判断第一进程ID文件对应的第一进程是否
存在,可以满足不同用户的需求,将该进程ID管理方法应用于不同的编程环境,提高了该进
程ID管理方法的适用性。

在本发明一个实施例中,如果判断出不存在使用了所述默认进程ID文件名的第一
进程,则获取文件名为所述默认进程ID文件名的默认进程ID文件,将目标进程的进程ID写
入到默认进程ID文件中。

具体地,当不存在使用了默认进程ID文件名的第一进程时,直接创建或获取已经
失效的文件名为默认进程ID文件名的默认进程ID文件名,将目标进程的进程ID写入该默认
进程ID文件中,使在各种情况下均能够对目标进程的进程ID进行存储,保证能够对目标进
程进行有效的管理,进一步提高了通过该进程ID管理方法对进程进行管理的效果。

在本发明一个实施例中,在步骤104之后进一步包括:

接收针对第一进程的进程ID文件删除指令;

将第一进程的进程ID文件删除;

将临时进程ID文件的文件名重命名为所述默认进程ID文件名。

具体地,在将目标进程的进程ID写入临时进程ID文件后,如果接收到针对第一进
程的进程ID文件删除指令,则将第一进程的进程ID文件删除,即将文件名为默认进程ID文
件名的进程ID文件删除。第一进程的进程ID文件删除后,将所述临时进程ID文件重命名为
默认进程ID文件。

当文件名为默认进程ID文件名的进程ID文件被删除后,如果存在与该默认进程ID
文件名相对应的临时进程ID文件,则对该临时进程ID文件进行重命名,重命名后的临时进
程ID文件的文件名为默认进程ID文件名。由于占用默认进程ID文件名的进程ID文件已经被
删除,将相应的临时进程ID文件重命名为默认进程ID文件,此时不会造成进程ID被覆盖,并
及时将临时进程ID文件名的占用状态取消,以备相同进程再次启动时使用,使该进程ID管
理方法的逻辑更加严谨,防止临时进程ID文件被覆盖,提高了进程ID管理的可靠性。

在本发明一个实施例中,临时进程ID文件名包括默认进程ID文件名及临时文件后
缀名,比如默认进程ID文件名为app.pid,临时文件后缀名为.tmp,则临时进程ID文件名为
app.pid.tmp。

通过在默认进程ID文件名后增加临时文件后缀名的方式来形成临时进程ID文件
名,可以方便地对默认进程ID文件及对应的临时进程ID文件进行区分,并且可以清楚的确
定默认进程ID文件与临时进程ID文件的对应关系,节省识别及重命名临时进程ID文件所需
的太阳城集团,提高进程ID管理的效率。

在本发明一个实施例中,当临时进程ID文件包括默认进程ID文件名及临时文件后
缀名时,将临时进程ID文件重命名为默认进程ID文件的过程,只需要将临时进程ID文件文
件名中的临时文件后缀名删除。比如临时进程ID文件的文件名为app.pid.tmp,在对该临时
进程ID文件进行重命名时,仅需将临时文件后缀名.tmp删除,形成文件名为app.pid的默认
进程ID文件。

基于默认进程ID文件名与临时进程ID文件名的命名规则,在对临时进程ID文件进
行重命名时,仅需要将临时文件后缀名删除便可以得到对应的默认进程ID文件,重命名的
过程所需计算资源较少,可以提高重命名操作的效率。

下面结合具体实施例,分别对进程ID管理过程中的进程ID文件创建过程和进程ID
文件删除过程进行说明。

如图2所示,本发明一个实施例提供了一种进程ID文件创建方法,该方法可以包括
以下步骤:

步骤201:接收针对目标进程的进程ID文件创建指令。

在本发明一个实施例中,每当一个目标进程开始运行后,形成针对于该目标进程
的进程ID文件创建指令,以指示形成对应于该目标进程的进程ID文件,用于对该目标进程
进行控制。接收形成的进程ID文件创建指令。

例如,一个应用程序A启动后,其对应的进程A开始运行,接收针对进程A的进程ID
文件创建指令A。

步骤202:根据接收到的进程ID文件创建指令,确定目标进程的默认进程ID文件名
及临时进程ID文件名。

在本发明一个实施例中,在接收到针对目标进程的进程ID文件创建指令后,根据
接收到的进程ID文件创建指令确定目标进程的默认进程ID文件名和临时进程ID文件名。

例如,根据接收到的进程ID文件创建指令A,确定出进程A对应的默认进程ID文件
名A.pid及临时进程ID文件名A.pid.tmp。

步骤203:判断是否存在文件名为所述默认进程ID文件名的第一进程ID文件,如果
是,执行步骤204,否则执行步骤206。

在本发明一个实施例中,在获得目标进程对应的默认进程ID文件名后,判断是否
存在文件名为所述默认进程ID文件名的第一进程ID文件,如果是,说明目标进程对应的默
认进程ID文件名已经被占用,相应地执行步骤204;如果否,说明目标进程对应的默认进程
ID文件名没有被占用,相应地执行步骤206。

例如,如果现存的各个进程ID文件中存在一个第一进程ID文件,该第一进程ID文
件的文件名为A.pid,说明进程A的默认进程ID文件名已经被占用,相应地执行步骤204;如
果现存的各个进程ID文件中没有任何一个进程ID文件的文件名为A.pid,说明进程A的默认
进程ID文件没有被占用,相应地执行步骤206。

步骤204:判断第一进程ID文件对应的第一进程是否存在,如果是,执行步骤205,
否则执行步骤207。

在本发明一个实施例中,在判断出存在文件名为默认进程ID文件名的第一进程ID
文件后,进一步判断第一进程ID文件对应的第一进程是否存在,如果是,说明第一进程ID文
件是有效的,用于对第一进程进行管理,相应地执行步骤205;如果否,说明第一进程ID文件
已经失效,因为其对应的第一进程已经退出运行,相应地执行步骤207。

例如,用户在本次启动应用程序A之前已经启动了一次应用程序A,第一进程为在
先启动的应用程序A对应的进程,因此第一进程对应的第一进程ID文件的文件名为A.pid。
如果第一进程ID文件对应第一进程存在,说明在先启动的应用程序A还处于运行状态,此时
第一进程ID文件仍有效,用于对在先启动的应用程序A进行管理,相应地执行步骤205;如果
第一进程ID文件对应的第一进程不存在,说明在先启动的应用程序A已经退出运行,此时第
一进程ID文件已经失效,相应地执行步骤207。

步骤205:创建文件名为临时进程ID文件名的临时进程ID文件,将目标进程的进程
ID写入该临时进程ID文件,并结束当前流程。

在本发明一个实施例中,根据步骤202中确定出的临时进程ID文件名,创建一个文
件名为临时进程ID文件名的临时进程ID文件,将目标进程的进程ID写入创建的临时进程ID
文件,通过写入进程ID的临时进程ID文件可以对目标进程进行管理。

例如,创建一个文件名为A.pid.tmp的临时进程ID文件,将在后启动进程A的进程
ID写入该临时进程ID文件。

步骤206:创建文件名为默认进程ID文件名的默认进程ID文件,将目标进程的进程
ID写入该默认进程ID文件,并结束当前流程。

在本发明一个实施例中,在判断不存在文件名为默认进程ID文件名的第一进程ID
文件后,创建一个文件名为默认进程ID文件名的默认进程ID文件,将目标进程的进程ID写
入创建的默认进程ID文件,通过写入进程ID的默认进程ID文件可以对目标进程进行管理。

例如,创建一个文件名为A.pid的默认进程ID文件,将在新启动的进程A的进程ID
写入该临时进程ID文件。

步骤207:将目标进程的进程ID更新到第一进程ID文件中。

在本发明一个所述中,在判断第一进程ID文件对应的第一进程不存在时,将目标
进程的进程ID写入第一进程ID文件中,覆盖第一进程ID文件中原有的进程ID。

例如,将在后启动进程A的进程ID写入文件名为A.pid的第一进程ID文件中,将第
一进程ID文件中原有的在先启动进程A的进程ID覆盖。

如图3所示,本发明一个实施例提供了一种进程ID文件删除方法,该方法可以包括
以下步骤:

步骤301:接收针对第一进程的进程ID文件删除指令。

在本发明一个实施例中,当第一进程对应的应用程序关闭后,形成对应于第一进
程的进程ID文件删除指令,以指示将第一进程对应的进程ID文件删除。接收形成的进程ID
文件删除指令。

例如,第一进程A为对应于应用程序A的进程,当第一进程A对应的应用程序A退出
运行后,接收对应于第一进程A的进程ID文件删除指令A。

步骤302:根据进程ID文件删除指令,确定第一进程对应的默认进程ID文件名及临
时进程ID文件名。

在本发明一个实施例中,当接收到针对第一进程的进程ID文件删除指令后,根据
进程ID文件删除指令确定第一进程的默认进程ID文件名及临时进程ID文件名。

例如,根据接收到的进程ID文件删除指令A,确定出第一进程A对应的默认进程ID
文件名A.pid及临时进程ID文件名A.pid.tmp。

步骤303:判断是否存在文件名为所述默认进程ID文件名的第二进程ID文件,如果
是,执行步骤304,否则执行步骤308。

在本发明一个实施例中,根据步骤302中获得的默认进程ID文件名,判断是否存在
文件名为该默进程ID文件名的第二进程ID文件,如果是,说明第二进程ID文件可能是第一
进程对应的进程ID文件,相应地执行步骤304进行进一步判断;如果否,说明不存在第一进
程对应的默认进程ID文件,相应地执行步骤308。

例如,如果现存的各个进程ID文件中存在一个第二进程ID文件,该第二进程ID文
件的文件名为A.pid,则执行步骤304;如果现存的各个进程ID文件中没有任何一个进程ID
文件的文件名为A.pid,相应地执行步骤308。

步骤304:判断第二进程ID文件中存储的进程ID是否为第一进程的进程ID,如果
是,执行步骤305,否则执行步骤308。

在本发明一个实施例中,在判断出存在文件名为默认进程ID文件名的第二进程ID
文件后,进一步读取第二进程ID文件中存储的进程ID,并判断读取到的进程ID是否为第一
进程的进程ID,如果是,说明第二进程ID文件是第一进程对应的进程ID文件,相应地执行步
骤305;如果否,说明第二进程ID文件不是第一进程对应的进程ID文件,第一进程对应的默
认进程ID文件不存在,相应地执行步骤308。

例如,从文件名为A.pid的第二进程ID文件中读取进程ID,如果读取到的进程ID与
第一进程A的进程ID相同,相应地执行步骤305;如果读取到的进程ID与第一进程A的进程ID
不同,相应地执行步骤308。

步骤305:将第二进程ID文件删除。

在本发明一个实施例中,当判断出第二进程ID文件就是第一进程对应的默认进程
ID文件后,将第二进程ID文件删除。

比如,将文件名为A.pid的第二进程ID文件删除。

步骤306:判断是否存在文件名为临时进程ID文件名的第三进程ID文件,如果是,
执行步骤307,否则结束当前流程。

在本发明一个实施例中,在将第一进程对应的默认进程ID文件删除后,进一步判
断是否存在文件名为临时进程ID文件名的第三进程ID文件,如果是,相应地执行步骤307,
否则结束当前流程。

例如,判断是否存在文件名为A.pid.tmp的第三进程ID文件,如果是,相应地执行
步骤307,否则结束当前流程。

步骤307:将第三进程ID文件的文件名重命名为默认进程ID文件名,并结束当前流
程。

在本发明一个实施例中,当判断出存在第三进程ID文件,该第三进程ID文件的文
件名为步骤302中确定出的临时进程ID文件名后,对第三进程ID文件进行重命名,删除原有
文件名中的临时文件后缀名,重命名后的第三进程ID文件的文件名与第一进程对应的默认
进程ID文件名相同。

例如,第三进程ID文件名为A.pid.tmp,删除临时文件后缀名.tmp后,第三进程ID
文件名为A.pid,与第一进程A对应的默认进程ID文件名相同。

步骤308:判断是否存在文件名为临时进程ID文件名的第四进程ID文件,如果是,
执行步骤309,否则结束当前流程。

在本发明一个实施例中,根据步骤302中获得的临时进程ID文件名,判断是否存在
文件名为该临时进程ID文件名的第四进程ID文件,如果是,说明该第四进程ID文件名可能
为第一进程对应的进程ID文件,相应地执行步骤309进行进一步地判断;如果否,说明第一
进程的进程ID文件已经不存在了,结束当前流程。

例如,如果现存的各个进程ID文件中存在一个第四进程ID文件,该第四进程ID文
件的进程名为app.pid.tmp,相应地执行步骤309;如果现存的各个进程ID文件中没有任何
一个进程ID文件的文件名为app.pid.tmp,结束当前流程。

步骤309:判断第四进程ID文件中存储的进程ID是否为第一进程的进程ID,如果
是,执行步骤310,否则结束当前流程。

在本发明一个实施例中,读取第四进程ID文件中存储的进程ID,判断读取到的进
程ID是否与第一进程的进程ID相同,如果是,说明第四进程ID文件就是第一进程对应的进
程ID文件,相应地执行步骤310;如果否,说明说明第一进程的进程ID文件已经不存在了,结
束当前流程。

例如,从文件名为app.pid.tmp的第四进程ID文件中读取进程ID,如果读取到的进
程ID与第一进程A的进程ID相同,相应地执行步骤310;否则结束当前流程。

步骤310:将第四进程ID文件删除。

在本发明一个实施例中,当判断出第四进程ID文件就是第一进程对应的默认进程
ID文件后,将第四进程ID文件删除。

例如,将文件名为app.pid.tmp的第四进程ID文件删除。

如图4所示,本发明一个实施例提供了一种进程ID管理装置,包括:接收模块401、
获取模块402、判断模块403及执行模块404;

所述接收模块401,用于接收针对目标进程的进程ID文件创建指令;

所述获取模块402,用于根据所述接收模块401接收到的所述进程ID文件创建指
令,确定所述目标进程对应的默认进程ID文件名及临时进程ID文件名;

所述判断模块403,用于判断是否存在使用了所述获取模块402获取到的所述默认
进程ID文件名的第一进程;

所述执行模块404,用于根据所述判断模块403的判断结果,如果是,创建文件名为
所述临时进程ID文件名的临时进程ID文件,并将所述目标进程的进程ID写入所述临时进程
ID文件。

在本发明一个实施例中,所述判断模块403用于判断是否存在文件名为所述默认
进程ID文件名的第一进程ID文件,以及判断所述第一进程ID文件对应的第一进程是否存
在,如果两个所述判断的结果均为是,则判定存存在使用了所述默认进程ID文件名的所述
第一进程。

在本发明一个实施例中,所述执行模块404进一步用于当所述判断模块403判断出
不存在文件名为所述默认进程ID文件名的所述第一进程ID文件时,创建文件名为所述默认
进程ID文件名的默认进程ID文件,并将所述目标进程的进程ID写入所述默认进程ID文件。

在本发明一个实施例中,所述执行模块404进一步用于当所述判断模块403判断出
存在文件名为所述默认进程ID文件名的所述第一进程ID文件,且判断出不存在所述第一进
程ID文件对应的所述第一进程时,将所述目标进程的进程ID更新到所述第一进程ID文件
中。

在本发明一个实施例中,所述判断模块403包括:第一判断单元;

所述第一判断单元,用于从所述第一进程ID文件中读取第一进程ID;根据所述第
一进程ID,调用进程打开函数;判断所述进程打开函数是否调用成功,如果是,判定所述第
一进程存在,否则判定所述第一进程不存在。

在本发明一个实施例中,所述判断模块403包括:第二判断单元;

所述第二判断单元,用于从所述第一进程ID文件中读取第一进程ID;根据所述第
一进程ID获取所述第一进程的至少一个窗口句柄;根据所述至少一个窗口句柄,通过窗口
判断函数判断所述至少一个窗口句柄对应的各个窗口是否存在,如果是,判定所述第一进
程存在,否则判定所述第一进程不存在。

在本发明一个实施例中,所述执行模块404进一步用于在所述判断模块403判断出
不存在使用了所述默认进程ID文件名的第一进程之后,得到文件名为所述默认进程ID文件
名的默认进程ID文件,并将所述目标进程的进程ID写入所述默认进程ID文件。

在本发明一个实施例中,所述接收模块401进一步用于接收针对所述第一进程的
进程ID文件删除指令;所述执行模块404进一步用于将所述第一进程的进程ID文件删除,并
将所述临时进程ID文件的文件名重命名为所述默认进程ID文件名。

在本发明一个实施例中,所述执行模块404包括:重命名单元;

所述重命名单元,用于在所述临时进程ID文件名包括所述默认进程ID文件名及临
时文件后缀名时,将所述临时进程ID文件的文件名中包括的临时文件后缀名删除,形成文
件名为所述默认进程ID文件名的所述默认进程ID文件。

需要说明的是,上述装置内的各模块之间的太阳城集团交互、执行过程等内容,由于与本
发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘
述。

本发明实施例还提供了一种计算机可读介质,存储用于使一机器执行如本文所述
的进程ID管理方法的指令。具体地,可以提供配有可读介质的系统或者装置,在该可读介质
上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计
算机(或CPU或MPU)读出并执行存储在可读介质中的程序代码。

在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实
施例的功能,因此程序代码和存储程序代码的可读介质构成了本发明的一部分。

用于提供程序代码的可读介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、
CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,
可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过
基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而
实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由可读介质读出的程序代码写到插入计算机内的扩展板
中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程
序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而
实现上述实施例中任一实施例的功能。

本发明实施例提供的进程ID管理方法、装置及计算机可读介质,至少具有如下有
益效果:

1、在本发明实施例中,当接收到针对目标进程的进程ID文件创建指令后,确定模
块进程对应的默认进程ID文件名和临时进程ID文件名,如果确定出的默认进程ID文件名已
经被其他的进程所使用,则创建文件名为临时进程ID文件名的临时进程ID文件,将目标进
程的进程ID写入该临时进程ID文件中。这样,当同一进程重复启动时,在后启动进程的进程
ID不会对在前启动进程的进程ID造成覆盖,从而能够防止无法通过进程ID对在前启动进程
进行管理的情况出现,提高了对进程进行管理的效果。

2、在本发明实施例中,在判断是否存在使用了默认进程ID文件名的第一进程时,
依次执行判断是否存在文件名为所述默认进程ID文件名的第一进程ID文件,以及判断所述
第一进程ID文件对应的第一进程是否存在。通过上述两个判断过程,可以准确判断出默认
进程ID文件名是否被使用,从而能够防止由于误判造成的进程ID文件名资源浪费或进程管
理不全面的情况出现。

3、在本发明实施例中,在判断出存在文件名为默认进程ID文件名的第一进程ID文
件后,进一步判断第一进程ID文件对应的第一进程是否存在,这样可以判断占用默认进程
ID文件名的第一进程ID文件是否已经失效,如果已经失效,直接将该第一进程ID文件作为
目标进程的默认进程ID文件,可以对无效的第一进程ID文件进行再次利用,无需重新创建
进程ID文件,节省系统的资源,提高系统的运算速率,进而提高对进程进行管理的效率。

4、在本发明实施例中,在判断第一进程ID文件对应的第一进程是否存在时,可以
通过多种方式执行这以判断过程,比如通过打开函数Open Process或窗口判断函数if
(IsWindow()),这样可以满足不同用户的需求,将该进程ID管理方法应用于不同的编程环
境,提高了该进程ID管理方法的适用性。

5、在本发明实施例中,当文件名为默认进程ID文件名的进程ID文件被删除后,如
果存在与该默认进程ID文件名相对应的临时进程ID文件,则对该临时进程ID文件进行重命
名,重命名后的临时进程ID文件的文件名为默认进程ID文件名。由于占用默认进程ID文件
名的进程ID文件已经被删除,将相应的临时进程ID文件重命名为默认进程ID文件,此时不
会造成进程ID被覆盖,并及时将临时进程ID文件名的占用状态取消,以备相同进程再次启
动时使用,使该进程ID管理方法的逻辑更加严谨,防止临时进程ID文件被覆盖,提高了进程
ID管理的可靠性。

1、一种进程ID管理方法,包括:

接收针对目标进程的进程ID文件创建指令;

根据所述进程ID文件创建指令,确定所述目标进程对应的默认进程ID文件名及临
时进程ID文件名;

判断是否存在使用了所述默认进程ID文件名的第一进程,如果是,创建文件名为
所述临时进程ID文件名的临时进程ID文件;

将所述目标进程的进程ID写入所述临时进程ID文件。

2、根据1所述的方法,

所述判断是否存在使用了所述默认进程ID文件名的第一进程,包括:

判断是否存在文件名为所述默认进程ID文件名的第一进程ID文件;

判断所述第一进程ID文件对应的第一进程是否存在;

如果两个所述判断的结果均为是,则判定存在使用了所述默认进程ID文件名的所
述第一进程。

3、根据2所述的方法,

当判断出不存在文件名为所述默认进程ID文件名的所述第一进程ID文件时,

进一步包括:

创建文件名为所述默认进程ID文件名的默认进程ID文件;

将所述目标进程的进程ID写入所述默认进程ID文件。

4、根据2所述的方法,

当判断出存在文件名为所述默认进程ID文件名的所述第一进程ID文件,且判断出
不存在所述第一进程ID文件对应的所述第一进程时,

进一步包括:

将所述目标进程的进程ID更新到所述第一进程ID文件中。

5、根据2所述的方法,

所述判断所述第一进程ID文件对应的第一进程是否存在,包括:

从所述第一进程ID文件中读取第一进程ID;

根据所述第一进程ID,调用进程打开函数;

判断所述进程打开函数是否调用成功,如果是,判定所述第一进程存在,否则判定
所述第一进程不存在。

6、根据2所述的方法,

所述判断所述第一进程ID文件对应的第一进程是否存在,包括:

从所述第一进程ID文件中读取第一进程ID;

根据所述第一进程ID获取所述第一进程的至少一个窗口句柄;

根据所述至少一个窗口句柄,通过窗口判断函数判断所述至少一个窗口句柄对应
的各个窗口是否存在,如果是,判定所述第一进程存在,否则判定所述第一进程不存在。

7、根据1至6中任一所述的方法,

在判断出不存在使用了所述默认进程ID文件名的第一进程之后,进一步包括:

得到文件名为所述默认进程ID文件名的默认进程ID文件;

将所述目标进程的进程ID写入所述默认进程ID文件。

8、根据1所述的方法,

在所述将所述目标进程的进程ID写入所述临时进程ID文件之后,进一步包括:

接收针对所述第一进程的进程ID文件删除指令;

将所述第一进程的进程ID文件删除;

将所述临时进程ID文件的文件名重命名为所述默认进程ID文件名。

9、根据8所述的方法,

所述临时进程ID文件名包括:所述默认进程ID文件名及临时文件后缀名。

10、根据9所述的方法,

所述将所述临时进程ID文件的文件名重命名为所述默认进程ID文件名,包括:

将所述临时进程ID文件的文件名中包括的临时文件后缀名删除,形成文件名为所
述默认进程ID文件名的所述默认进程ID文件。

11、一种进程ID管理装置,包括:接收模块、获取模块、判断模块及执行模块;

所述接收模块,用于接收针对目标进程的进程ID文件创建指令;

所述获取模块,用于根据所述接收模块接收到的所述进程ID文件创建指令,确定
所述目标进程对应的默认进程ID文件名及临时进程ID文件名;

所述判断模块,用于判断是否存在使用了所述获取模块获取到的所述默认进程ID
文件名的第一进程;

所述执行模块,用于根据所述判断模块的判断结果,如果是,创建文件名为所述临
时进程ID文件名的临时进程ID文件,并将所述目标进程的进程ID写入所述临时进程ID文
件。

12、根据11所述的装置,

所述判断模块,用于判断是否存在文件名为所述默认进程ID文件名的第一进程ID
文件,以及判断所述第一进程ID文件对应的第一进程是否存在,如果两个所述判断的结果
均为是,则判定存在使用了所述默认进程ID文件名的所述第一进程。

13、根据12所述的装置,

所述执行模块,进一步用于当所述判断模块判断出不存在文件名为所述默认进程
ID文件名的所述第一进程ID文件时,创建文件名为所述默认进程ID文件名的默认进程ID文
件,并将所述目标进程的进程ID写入所述默认进程ID文件。

14、根据12所述的装置,

所述执行模块,进一步用于当所述判断模块判断出存在文件名为所述默认进程ID
文件名的所述第一进程ID文件,且判断出不存在所述第一进程ID文件对应的所述第一进程
时,将所述目标进程的进程ID更新到所述第一进程ID文件中。

15、根据12所述的装置,

所述判断模块包括:第一判断单元;

所述第一判断单元,用于从所述第一进程ID文件中读取第一进程ID;根据所述第
一进程ID,调用进程打开函数;判断所述进程打开函数是否调用成功,如果是,判定所述第
一进程存在,否则判定所述第一进程不存在。

16、根据12所述的装置,

所述判断模块包括:第二判断单元;

所述第二判断单元,用于从所述第一进程ID文件中读取第一进程ID;根据所述第
一进程ID获取所述第一进程的至少一个窗口句柄;根据所述至少一个窗口句柄,通过窗口
判断函数判断所述至少一个窗口句柄对应的各个窗口是否存在,如果是,判定所述第一进
程存在,否则判定所述第一进程不存在。

17、根据11至16中任一所述的装置,

所述执行模块,进一步用于在所述判断模块判断出不存在使用了所述默认进程ID
文件名的第一进程之后,得到文件名为所述默认进程ID文件名的默认进程ID文件,并将所
述目标进程的进程ID写入所述默认进程ID文件。

18、根据11所述的装置,

所述接收模块,进一步用于接收针对所述第一进程的进程ID文件删除指令;

所述执行模块,进一步用于将所述第一进程的进程ID文件删除,并将所述临时进
程ID文件的文件名重命名为所述默认进程ID文件名。

19、根据18所述的装置,

所述执行模块包括:重命名单元;

所述重命名单元,用于在所述临时进程ID文件名包括所述默认进程ID文件名及临
时文件后缀名时,将所述临时进程ID文件的文件名中包括的临时文件后缀名删除,形成文
件名为所述默认进程ID文件名的所述默认进程ID文件。

20、一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机
指令在被处理器执行时,使所述处理器执行权利要求1至10中任一所述的方法。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其
它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例
而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部
分说明即可。

可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者
软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序
仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特
别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序
包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据
本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明
限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描
述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理
解本发明从而设计适于特定用途的带有各种修改的各种实施例。

关 键 词:
一种 进程 ID 管理 方法 装置 计算机 可读 介质
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种进程ID管理方法、装置及计算机可读介质.pdf
链接地址:http://zh228.com/p-6019548.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');