CN108628740A - 一种文件描述符泄露检测方法及装置 - Google Patents

一种文件描述符泄露检测方法及装置 Download PDF

Info

Publication number
CN108628740A
CN108628740A CN201810314861.5A CN201810314861A CN108628740A CN 108628740 A CN108628740 A CN 108628740A CN 201810314861 A CN201810314861 A CN 201810314861A CN 108628740 A CN108628740 A CN 108628740A
Authority
CN
China
Prior art keywords
file
counted
target
target process
file descriptors
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
Application number
CN201810314861.5A
Other languages
English (en)
Inventor
谢春平
符志清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201810314861.5A priority Critical patent/CN108628740A/zh
Publication of CN108628740A publication Critical patent/CN108628740A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本申请提供一种文件描述符泄露检测方法及装置,包括:获取监控集合中待检测的目标进程的目标进程标识;所述监控集合中记录了需要进行文件描述符泄露检测的进程的进程标识;统计所述目标进程在当前周期内的文件描述符个数;依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露;如果是,输出告警日志至相应的客户端。使用本申请提供的方法,可以实现文件描述符泄露的检测。

Description

一种文件描述符泄露检测方法及装置
技术领域
本申请涉及计算机通信领域,尤其涉及一种文件描述符泄露检测方法及装置。
背景技术
在LINUX操作系统中,内核利用文件描述符来访问文件。文件描述符形式上是一个非负整数。当在LINUX系统中的进程打开一个现存文件或者新建一个文件时,内核会向该进程返回文件描述符。
通常,LINUX系统中的文件描述符的有效范围是0到OPEN_MAX(允许一个进程同时打开文件描述符的上限)。换句话来说,一个进程最多可以同时打开OPEN_MAX个文件描述符。当程序代码未对称使用文件描述符的打开函数和关闭函数(即程序写了使用文件描述符的打开函数,而没有写使用该文件描述符的关闭函数)时,该进程中的文件描述符数量会一直增加。当文件描述增加到OPEN_MAX时,该进程无法在进行文件的打开或者创建操作。这里,将这种未对称使用文件描述符的打开函数和关闭函数导致进程打开的文件描述符持续增加的现象叫做文件描述符泄露。
发明内容
有鉴于此,本申请提供一种文件描述符泄露检测方法及装置,用以实现文件描述符泄露的检测。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种文件描述符泄露检测方法,包括:
获取监控集合中待检测的目标进程的目标进程标识;所述监控集合中记录了需要进行文件描述符泄露检测的进程的进程标识;
统计所述目标进程在当前周期内的文件描述符个数;
依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露;
如果是,输出告警日志至相应的客户端。
可选的,所述依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露,包括:
确定当前周期统计的所述文件描述符个数是否超过第一预设阈值。
可选的,所述依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露,包括:
确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增;
其中,所述N个周期包括当前周期,以及前N-1个周期;其中,N为大于0的整数。
可选的,所述确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增,包括:
基于预设算法,对所述目标进程在N个周期分别统计的文件描述符个数进行拟合生成目标曲线,并确定目标曲线的斜率在各个周期是否大于0;或者,
确定所述N个周期中的预设事件发生次数是否大于第二预设阈值;
其中,所述预设事件是:所述目标进程在任两个连续周期中后一周期统计的文件描述符个数大于前一周期统计的文件描述符个数;其中所述任两个连续的周期属于所述N个周期。
可选的,所述方法还包括:
当检测到所述监控集合中的任一进程停止运行时,将该停止运行的进程从该监控集合中删除,并删除已记录的与该停止运行的进程对应的文件描述符个数;
当检测到有新建进程时,在确定该新建进程为用户态进程后,将该新建进程添加至所述监控集合。
根据本申请的第二方面,提供一种文件描述符泄露检测装置,包括:
获取单元,用于获取监控集合中待检测的目标进程的目标进程标识;所述监控集合中记录了需要进行文件描述符泄露检测的进程的进程标识;
统计单元,用于统计所述目标进程在当前周期内的文件描述符个数;
确定单元,用于依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露;
输出单元,用于如果是,输出告警日志至相应的客户端。
可选的,所述确定单元,具体用于确定当前周期统计的所述文件描述符个数是否超过第一预设阈值。
可选的,所述确定单元,还具体用于确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增;
其中,所述N个周期包括当前周期,以及前N-1个周期;其中,N为大于0的整数。
可选的,所述确定单元,进一步用于基于预设算法,对所述目标进程在N个周期分别统计的文件描述符个数进行拟合生成目标曲线,并确定目标曲线的斜率在各个周期是否大于0;或者,
确定所述N个周期中的预设事件发生次数是否大于第二预设阈值;
其中,所述预设事件是:所述目标进程在任两个连续周期中后一周期统计的文件描述符个数大于前一周期统计的文件描述符个数;其中所述任两个连续的周期属于所述N个周期。
可选的,所述装置还包括:
删除单元,用于当检测到所述监控集合中的任一进程停止运行时,将该停止运行的进程从该监控集合中删除,并删除已记录的与该停止运行的进程对应的文件描述符个数;
新建单元,用于当检测到有新建进程时,在确定该新建进程为用户态进程后,将该新建进程添加至所述监控集合。
本申请提供一种文件描述符泄露检测方法及装置,由于设备可以周期性地统计各用户态进程的文件描述符个数,以及依据统计到的各进程的文件描述符个数,判断各进程是否发生了文件描述符泄漏,在进程发生文件描述符泄漏后,向开发人员发出告警信息,因此可以实现各用户态进程文件描述符泄漏的自动检测,在进程发生错误前,就可以避免因文件描述符泄漏造成的进程错误。
附图说明
图1是本申请一示例性实施例示出的一种文件描述符泄露检测方法的流程图;
图2是本申请提供一种文件描述符泄露检测装置所在设备的硬件架构图;
图3是本申请一示例性实施例示出的一种文件描述符泄露检测装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
通常,当开发人员发现某进程不再能打开或者创建文件时,开发人员需要确定该进程不再能打开或者创建文件的原因。
由于造成进程不再能打开或者创建文件的原因有很多种,比如文件权限不支持,文件路径不正确,文件存在写锁,内存空间不足,进程的文件描述符泄露等等。因此,开发人员需要逐一排查该原因。
当开发人员排查到该进程的文件描述符是否发生泄露时,开发人员可以通过lsof命令或wc命令,统计/proc/<pid>/fd或/proc/<pid>/fdinfo目录下的文件个数,来确定该进程打开的文件描述符个数。当该进程打开的文件描述符个数大于OPEN_MAX后,开发人员可以确定该进程的文件描述符发生泄漏,该进程不能打开或者创建文件的原因之一是该进程的文件描述符发生泄漏。
由上述描述可以看出,在现有方式中,并没有检查是否发生文件描述符泄漏的机制。
有鉴于此,本申请提供一种文件描述符泄露检测方法及装置,由于设备可以周期性地统计各用户态进程的文件描述符个数,以及依据统计到的各进程的文件描述符个数,判断各进程是否发生了文件描述符泄漏,在进程发生文件描述符泄漏后,向开发人员发出告警信息,因此可以实现各用户态进程文件描述符泄漏的自动检测,在进程发生错误前,就可以避免因文件描述符泄漏造成的进程错误。
下面对本申请提供的文件描述符泄漏检测方法进行详细地说明。
参见图1,图1是本申请一示例性实施例示出的一种文件描述符泄露检测方法的流程图,该方法可应用在安装有LINUX系统的设备(下文简称设备)。
需要说明的是,该设备的空闲CPU可以执行该文件描述符泄露检测方法对应的逻辑指令。这样做的好处在于,在由空闲CPU来执行该文件描述符泄露检测方法,不会抢占繁忙CPU资源,不会影响其他业务的正常运行。
还需要说明的,该文件描述符泄露检测方法是周期性执行的,由于在每个周期进行的文件描述符泄露检测的流程均相同,这里仅以一个周期执行的文件描述符泄露检测流程进行详细地说明。
该文件描述符检测流程可以包括如下所示步骤:
步骤101:获取监控集合中待检测的目标进程的目标进程标识;所述监控集合中记录了需要进行文件描述符泄露检测的进程的进程标识;
首先,先介绍下监控集合。
监控集合里记录了需要进行文件描述符泄露检测的进程的进程标识。监控集合里的进程包括用户态进程。该进程标识可以是进程的名称和进程ID等,这里进程标识是指唯一标识一个进程的标识。
在初始时,设备可以先创建一个监控集合,创建好的监控集合是一个空集。然后,设备可以扫描本设备上正在运行的所有用户态进程,然后将扫描到的用户态进程的进程标识添加在监控集合中。
在后续过程中,开发人员也可以手工将某些指定的进程添加在该监控集合中。
当然,在后续的过程中,当设备检测到有新建进程后,设备可以检测该新建进程是否为用户态进程,若该新建进程为用户态进程,设备可将该新建进程的进程标识添加在监控集合中。
当设备检测到监控集合中的某一进程停止运行后,设备可将该停止运行的进程从监控集合中删除,并删除与该停止运行的进程对应的文件描述符个数。
其次,再详细介绍下步骤101。
设备可以在监控集合中获取任一待检测的进程标识,作为目标进程标识。然后执行步骤101至步骤103。当执行为步骤103后,设备还可以获取该监控集合中的另一待检测的进程的进程标识,作为目标进程标识,继续执行步骤101至步骤103,直至设备在当前周期内对监控集合中的所有进程都执行了步骤101至步骤103的操作。
由于对于监控集合中的每个进程执行步骤101和步骤103操作的流程相同,这里只以一个进程(即目标进程)为例,进行说明。
步骤102:统计所述目标进程在当前周期内的文件描述符个数
通常内核中记录有每个进程对应的用户打开文件表(如内核中的files_struct结构)。
目标进程对应的用户打开文件表里记录了该目标进程打开或者新建文件的文件描述符,设备通过统计该进程对应的用户打开文件表里的文件描述符的个数,就可以统计出该目标进程在当前周期内的文件描述符个数。并记录当前周期标识、目标进程标识和统计到的文件描述符个数的对应关系。
步骤103:依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露;
实现方式一:设备可以确定上述在当前周期统计的文件描述符个数是否超过第一预设阈值。
若当前周期统计的文件描述符个数超过第一预设阈值,则表明该目标进程发生了文件描述符泄露。若当前周期统计的文件描述符个数未超过第一预设阈值,则表明该目标进程未发生文件描述符泄露。
该第一预设阈值可由开发人员根据经验来进行设定,比如该第一预设阈值可以是OPEN_MAX的1/2等等,这里只是示例性地说明,不对其进行具体地限定。
实现方式二:设备确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增;其中,所述N个周期包括当前周期,以及前N-1个周期;其中,N为大于0的整数。
其中,该前N-1个周期是指从当前周期开始向前推算的N-1个周期。比如当前周期是第10周期,则前N-1个周期是指第1周期至第9周期。
在一种可选的实现方式中,设备可以在上述周期标识、目标进程标识和统计到的文件描述符个数的对应关系中,查找目标进程标识和前N-1周期分别对应的N-1个文件描述符个数。
然后,设备可将当前周期的文件描述符个数,以及该N-1个文件描述符个数(即N个文件描述个数)按照预设算法进行拟合,得到目标曲线。得到的目标曲线的横坐标为周期标识,纵坐标为目标进程对应的文件描述符个数。
然后可以确定该目标曲线在各个周期的斜率是否大于0,若该目标曲线在各个周期的斜率均大于0,则表明该目标进程发生了文件描述符泄露。若该目标曲线在各个周期的斜率不都大于0,则表明该目标进程未发生文件描述符泄露。
其中,上述预设算法可以是最小二乘法,也可以是其他曲线拟合的算法,这里只是示例性地说明,不对其进行具体地限定。
上述N为大于0的整数,N的取值可以为10。当然,该N的取值可以由开发人员根据经验进行设定,本申请只是对N的取值进行示例性地说明,不对该N的取值进行具体地限定。
在另一种可选的实现方式中,确定所述N个周期中的预设事件发生次数是否大于第二预设阈值;
若所述N个周期中的预设事件发生次数大于第二预设阈值,可确定该目标进程发生了文件描述符泄露。若所述N个周期中的预设事件发生次数小于第二预设阈值,则确定该目标进程未发生文件描述符泄露。
其中,所述预设事件是:所述目标进程在任两个连续周期中后一周期统计的文件描述符个数大于前一周期统计的文件描述符个数;其中所述任两个连续的周期属于所述N个周期。
例如,假设N=5,N个周期分别为周期1、周期2、周期3、周期4和周期5,周期5为当前周期。目标进程在周期1至周期5分别统计到的文件描述符个数为100个、150个、250个、200个、300个。
设备发现周期2统计的文件描述符个数大于周期1的文件描述符个数,设备可以确定预设事件发生一次。
由于在本例中,周期2统计的文件描述符个数大于周期1的文件描述符个数,周期3统计的文件描述符个数大于周期2的文件描述符个数,周期5统计的文件描述符个数大于周期4的文件描述符个数,所以设备可以确定预设事件的发生次数为3次。
其中,上述第二阈值可以由开发人员进行设定,这里只是示例性地说明,不进行具体地限定。
当然,设备还可以采用其他方法来确定目标进程是否发生了文件描述符泄露,这里只是示例性地说明,不进行具体地限定。
步骤104:如果是,输出告警日志至相应的客户端。
在实现时,如果设备确定目标进程发生了文件描述符泄露,设备可以输出告警日志至相应的程序人员客户端。
该告警日志至少包括发生文件描述符泄露的目标进程的进程标识(如进程名称和进程ID)、以及该目标进程对应的文件描述符个数。
比如,设备可以以邮件、短信、语音信息、即使消息等各种方式向用户进行告警。
本申请提供一种文件描述符泄露检测方法及装置,由于设备可以周期性地统计各用户态进程的文件描述符个数,以及依据统计到的各进程的文件描述符个数,判断各进程是否发生了文件描述符泄漏,在进程发生文件描述符泄漏后,向开发人员发出告警信息,因此可以实现各用户态进程文件描述符泄漏的自动检测,在进程发生错误前,就可以避免因文件描述符泄漏造成的进程错误。
此外,本申请文件描述符泄露方法可以在空闲CPU上执行,因此,该文件描述符泄露检测任务不会抢占繁忙CPU资源,不会影响其他业务的正常进行。
最后,本申请的文件描述符泄露检测任务是周期性执行的,当CPU执行完当前周期的文件描述符泄露检测任务后,CPU可执行其他业务,再下一周期开始时,在执行该文件描述符泄露检测任务。这种周期性检测的方式,可以腾出CPU资源给其他业务使用。
参见图2,本申请还提供一种文件描述符泄露检测装置所在设备的硬件架构图,该设备包括:通信接口201、处理器202、存储器203和总线204;其中,通信接口201、处理器202和存储器203通过总线204完成相互间的通信。
其中,处理器202可以是一个CPU,存储器203可以是非易失性存储器(non-volatile memory),并且存储器203中存储有文件描述符泄露检测逻辑指令,处理器202可以执行存储器203中存储的的文件描述符泄露检测的逻辑指令,以实现文件描述符泄露检测的功能。
至此,完成图2所示的硬件结构描述。
参见图3,图3是本申请一示例性实施例示出的一种文件描述符泄露检测装置的框图。该装置可包括如下所示单元。
获取单元301,用于获取监控集合中待检测的目标进程的目标进程标识;所述监控集合中记录了需要进行文件描述符泄露检测的进程的进程标识;
统计单元302,用于统计所述目标进程在当前周期内的文件描述符个数;
确定单元303,用于依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露;
输出单元304,用于如果是,输出告警日志至相应的客户端。
可选的,所述确定单元303,具体用于确定当前周期统计的所述文件描述符个数是否超过第一预设阈值。
可选的,所述确定单元303,还具体用于确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增;
其中,所述N个周期包括当前周期,以及前N-1个周期;其中,N为大于0的整数。
可选的,所述确定单元,进一步用于基于预设算法,对所述目标进程在N个周期分别统计的文件描述符个数进行拟合生成目标曲线,并确定目标曲线的斜率在各个周期是否大于0;或者,
确定所述N个周期中的预设事件发生次数是否大于第二预设阈值;
其中,所述预设事件是:所述目标进程在任两个连续周期中后一周期统计的文件描述符个数大于前一周期统计的文件描述符个数;其中所述任两个连续的周期属于所述N个周期。
可选的,所述装置还包括:
删除单元(图3中未示出),用于当检测到所述监控集合中的任一进程停止运行时,将该停止运行的进程从该监控集合中删除,并删除已记录的与该停止运行的进程对应的文件描述符个数;
新建单元(图3中未示出),用于当检测到有新建进程时,在确定该新建进程为用户态进程后,将该新建进程添加至所述监控集合。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种文件描述符泄露检测方法,其特征在于,包括:
获取监控集合中待检测的目标进程的目标进程标识;所述监控集合中记录了需要进行文件描述符泄露检测的进程的进程标识;
统计所述目标进程在当前周期内的文件描述符个数;
依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露;
如果是,输出告警日志至相应的客户端。
2.根据权利要求1所述的方法,其特征在于,所述依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露,包括:
确定当前周期统计的所述文件描述符个数是否超过第一预设阈值。
3.根据权利要求1所述的方法,其特征在于,所述依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露,包括:
确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增;
其中,所述N个周期包括当前周期,以及前N-1个周期;其中,N为大于0的整数。
4.根据权利要求3所述的方法,其特征在于,所述确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增,包括:
基于预设算法,对所述目标进程在N个周期分别统计的文件描述符个数进行拟合生成目标曲线,并确定目标曲线的斜率在各个周期是否大于0;或者,
确定所述N个周期中的预设事件发生次数是否大于第二预设阈值;
其中,所述预设事件是:所述目标进程在任两个连续周期中后一周期统计的文件描述符个数大于前一周期统计的文件描述符个数;其中所述任两个连续的周期属于所述N个周期。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测到所述监控集合中的任一进程停止运行时,将该停止运行的进程从该监控集合中删除,并删除已记录的与该停止运行的进程对应的文件描述符个数;
当检测到有新建进程时,在确定该新建进程为用户态进程后,将该新建进程添加至所述监控集合。
6.一种文件描述符泄露检测装置,其特征在于,包括:
获取单元,用于获取监控集合中待检测的目标进程的目标进程标识;所述监控集合中记录了需要进行文件描述符泄露检测的进程的进程标识;
统计单元,用于统计所述目标进程在当前周期内的文件描述符个数;
确定单元,用于依据当前周期统计的所述文件描述符个数,确定所述目标进程是否发生文件描述符泄露;
输出单元,用于如果是,输出告警日志至相应的客户端。
7.根据权利要求6所述的装置,其特征在于,所述确定单元,具体用于确定当前周期统计的所述文件描述符个数是否超过第一预设阈值。
8.根据权利要求6所述的装置,其特征在于,所述确定单元,还具体用于确定所述目标进程在N个周期内分别统计的文件描述符个数是否递增;
其中,所述N个周期包括当前周期,以及前N-1个周期;其中,N为大于0的整数。
9.根据权利要求8所述的装置,其特征在于,所述确定单元,进一步用于基于预设算法,对所述目标进程在N个周期分别统计的文件描述符个数进行拟合生成目标曲线,并确定目标曲线的斜率在各个周期是否大于0;或者,
确定所述N个周期中的预设事件发生次数是否大于第二预设阈值;
其中,所述预设事件是:所述目标进程在任两个连续周期中后一周期统计的文件描述符个数大于前一周期统计的文件描述符个数;其中所述任两个连续的周期属于所述N个周期。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
删除单元,用于当检测到所述监控集合中的任一进程停止运行时,将该停止运行的进程从该监控集合中删除,并删除已记录的与该停止运行的进程对应的文件描述符个数;
新建单元,用于当检测到有新建进程时,在确定该新建进程为用户态进程后,将该新建进程添加至所述监控集合。
CN201810314861.5A 2018-04-10 2018-04-10 一种文件描述符泄露检测方法及装置 Pending CN108628740A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810314861.5A CN108628740A (zh) 2018-04-10 2018-04-10 一种文件描述符泄露检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810314861.5A CN108628740A (zh) 2018-04-10 2018-04-10 一种文件描述符泄露检测方法及装置

Publications (1)

Publication Number Publication Date
CN108628740A true CN108628740A (zh) 2018-10-09

Family

ID=63705056

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810314861.5A Pending CN108628740A (zh) 2018-04-10 2018-04-10 一种文件描述符泄露检测方法及装置

Country Status (1)

Country Link
CN (1) CN108628740A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795400A (zh) * 2019-10-12 2020-02-14 苏州浪潮智能科技有限公司 一种文件的管理方法、装置、设备及介质
CN110837465A (zh) * 2019-10-15 2020-02-25 珠海金山网络游戏科技有限公司 一种基于Android的句柄泄露检测方法及其系统
CN112199195A (zh) * 2020-10-16 2021-01-08 新华三信息安全技术有限公司 进程资源处理方法及装置
CN112346927A (zh) * 2020-10-22 2021-02-09 北京罗克维尔斯科技有限公司 一种文件描述符的检测方法、装置、车载设备及车辆
CN112732640A (zh) * 2020-12-28 2021-04-30 杭州迪普科技股份有限公司 一种文件描述符泄漏检测的方法及装置
CN112732560A (zh) * 2020-12-31 2021-04-30 杭州迪普科技股份有限公司 文件描述符泄露风险的检测方法及装置
CN112925754A (zh) * 2021-03-31 2021-06-08 四川虹美智能科技有限公司 文件描述符溢出上报方法、装置及计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160117236A1 (en) * 2014-10-23 2016-04-28 Canon Kabushiki Kaisha Information processing apparatus, method for controlling the same, and non-transitory computer-readable medium
CN106802861A (zh) * 2015-11-26 2017-06-06 大唐移动通信设备有限公司 一种检测内存泄露的方法和装置
CN107423213A (zh) * 2017-04-11 2017-12-01 腾讯科技(深圳)有限公司 一种文件描述符分配检测方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160117236A1 (en) * 2014-10-23 2016-04-28 Canon Kabushiki Kaisha Information processing apparatus, method for controlling the same, and non-transitory computer-readable medium
CN106802861A (zh) * 2015-11-26 2017-06-06 大唐移动通信设备有限公司 一种检测内存泄露的方法和装置
CN107423213A (zh) * 2017-04-11 2017-12-01 腾讯科技(深圳)有限公司 一种文件描述符分配检测方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
梅胜 等: "侦测程序句柄泄露的统计方法", 《HTTPS://WWW.IBM.COM/DEVELOPERWORKS/CN/LINUX/L-CN-HANDLE/》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795400A (zh) * 2019-10-12 2020-02-14 苏州浪潮智能科技有限公司 一种文件的管理方法、装置、设备及介质
CN110795400B (zh) * 2019-10-12 2022-03-22 苏州浪潮智能科技有限公司 一种文件的管理方法、装置、设备及介质
CN110837465A (zh) * 2019-10-15 2020-02-25 珠海金山网络游戏科技有限公司 一种基于Android的句柄泄露检测方法及其系统
CN112199195A (zh) * 2020-10-16 2021-01-08 新华三信息安全技术有限公司 进程资源处理方法及装置
CN112199195B (zh) * 2020-10-16 2023-10-27 新华三信息安全技术有限公司 进程资源处理方法及装置
CN112346927A (zh) * 2020-10-22 2021-02-09 北京罗克维尔斯科技有限公司 一种文件描述符的检测方法、装置、车载设备及车辆
CN112346927B (zh) * 2020-10-22 2024-02-27 北京罗克维尔斯科技有限公司 一种文件描述符的检测方法、装置、车载设备及车辆
CN112732640A (zh) * 2020-12-28 2021-04-30 杭州迪普科技股份有限公司 一种文件描述符泄漏检测的方法及装置
CN112732560A (zh) * 2020-12-31 2021-04-30 杭州迪普科技股份有限公司 文件描述符泄露风险的检测方法及装置
CN112732560B (zh) * 2020-12-31 2023-10-27 杭州迪普科技股份有限公司 文件描述符泄露风险的检测方法及装置
CN112925754A (zh) * 2021-03-31 2021-06-08 四川虹美智能科技有限公司 文件描述符溢出上报方法、装置及计算机可读介质
CN112925754B (zh) * 2021-03-31 2023-04-07 四川虹美智能科技有限公司 文件描述符溢出上报方法、装置及计算机可读介质

Similar Documents

Publication Publication Date Title
CN108628740A (zh) 一种文件描述符泄露检测方法及装置
US11481486B2 (en) Behavioral threat detection engine
US10791133B2 (en) System and method for detecting and mitigating ransomware threats
KR101647487B1 (ko) 패치파일 분석시스템과 분석방법
US20200218812A1 (en) Detecting unknown software vulnerabilities and system compromises
CN101154180B (zh) 一种任务栈溢出的监测方法
US11080394B2 (en) Behavioral threat detection virtual machine
US9210057B2 (en) Cross-cutting event correlation
CN108694320B (zh) 一种多安全环境下敏感应用动态度量的方法及系统
US9946879B1 (en) Establishing risk profiles for software packages
KR101421136B1 (ko) 악성 프로그램을 검사하기 위하여 컴퓨터 프로그램의행동을 모델링하는 방법 및 장치
US9965618B1 (en) Reducing privileges for imported software packages
CN108733567A (zh) 软件资源泄露情况的监测方法及系统
US8938807B1 (en) Malware removal without virus pattern
WO2024125108A1 (zh) 移动端安全切面的按需开启方法及装置
KR100456512B1 (ko) 커널 백도어 탐지 시스템, 이를 이용한 커널 백도어 탐지방법 및 커널 데이터 복구 방법
CN115935341A (zh) 一种漏洞防御方法、系统、服务器及存储介质
CN116149963A (zh) 一种Linux内核内存泄漏的检测方法
US11593474B2 (en) Container behavior representation
CN114253825B (zh) 内存泄漏检测方法、装置、计算机设备和存储介质
CN113518055B (zh) 数据安全防护的处理方法及装置、存储介质、终端
US10019572B1 (en) Detecting malicious activities by imported software packages
US10810098B2 (en) Probabilistic processor monitoring
US20230053322A1 (en) Script Classification on Computing Platform
CN113746690B (zh) 监控流量数据的方法、装置及计算机可读存储介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181009