当前位置: 首页 > 面试题库 >

检查Linux中给定进程的开放FD限制

晏永康
2023-03-14
问题内容

我最近有一个Linux进程,它“泄漏”了文件描述符:它打开了文件描述符,但没有正确关闭其中的一些文件描述符。

如果我对此进行了监视,我可以提前告知-该过程已达到极限。

有没有一种不错的Bash \ Python方法来检查Ubuntu Linux系统中给定进程的FD使用率?

编辑:

我现在知道如何检查其中有多少个打开的文件描述符。我只需要知道 一个进程允许多少个文件描述符 。某些系统(例如Amazon
EC2)没有/proc/pid/limits文件。

谢谢,


问题答案:

计算中的条目/proc/<pid>/fd/。适用于该过程的硬性限制和软性限制可以在中找到/proc/<pid>/limits



 类似资料:
  • 问题内容: 给定Linux进程的pid,我想从C程序检查该进程是否仍在运行。 问题答案: 发出信号作为系统调用。如果调用成功,则表示存在具有此pid的进程。 如果调用失败并设置为,则不存在具有此类pid的进程。 引用POSIX标准: 如果sig为0(空信号),则执行错误检查,但实际上未发送任何信号。空信号可用于检查pid的有效性。 请注意,您在竞争条件下并不安全:目标进程可能已退出,并且与此同时已

  • 在基于Linux的系统上,有没有一种方法可以在C语言中为进程提供唯一的权限?我基本上想限制进程(由主机启动,比如事件处理程序)编辑其工作目录之外的任何文件,以及创建套接字等。 唯一的方法是让主机进程为它生成的每个进程创建一个新用户,然后销毁该用户吗?

  • 问题内容: 我已经被这个问题困扰了几个小时了: 我有一个主进程充当TCP服务器,主进程调用Fork(),将其net.Listener()的FD传递给子进程。然后,子进程可以使用net.Filelistener()继承此FD。 我已经通过许多开源代码研究了这个问题,还做了一些实验。但是不幸的是,这些解决方案目前尚不满足我的需要,因为它们不便于携带,您还需要许多危险的低级工作。 如果有任何将net.L

  • 问题内容: 有没有办法检查pid是否对应于有效进程?我从其他来源获得pid ,我需要检查计算机上是否不存在具有该pid的进程。 我需要它在Unix和Windows中可用。我也在检查PID是否未使用。 问题答案: 如果pid没有运行,则向pid发送信号0将引发OSError异常,否则不执行任何操作。

  • 问题内容: 我在使用Java 1.6(1.6.0_02或1.6.0_04)运行Red Hat Linux(内核版本为2.4.21-37.ELsmp)的测试计算机上遇到问题。问题是,一旦在单个线程组中创建了一定数量的线程,操作系统将不愿意或无法创建更多线程。 这似乎是特定于Java创建线程的,因为C线程限制程序能够创建约1.5k线程。此外,Java 1.4 JVM不会发生这种情况……它可以创建超过1

  • 问题内容: 我在写一些代码,但一直崩溃。后来,在挖掘转储之后,我意识到我正在超出最大堆限制(如果我在malloc上添加了检查,生活会更轻松)。尽管我已解决问题,但是有什么办法可以增加堆大小? 问题答案: 堆通常与体系结构上可寻址的虚拟内存一样大。 您应该使用命令检查系统的当前限制,并找到这行最大值,在我的OpenSuse 11.4 x86_64上,此行具有约3.5 GiB的ram,表示每个进程大约