c++ - 如何找到我的进程在 Linux 中打开的文件句柄?

标签 c++ c linux file-io

当我们在 Unix 中执行 fork 时,打开的文件句柄会被继承,如果我们不需要使用它们,我们应该关闭它们。但是,当我们使用库时,可能会打开我们无权访问句柄的文件句柄。我们如何检查这些打开的文件句柄?

最佳答案

在 Linux 中,您可以查看 /proc/<pid>/fd目录 - 每个打开的 fd 都会有一个文件,命名为句柄。我几乎可以肯定这种方式是不可移植的。

您也可以使用 lsof - 可用于 Linux、AIX、FreeBSD 和 NetBSD,根据 man lsof .

关于c++ - 如何找到我的进程在 Linux 中打开的文件句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/267825/

相关文章:

c++ - Qt5、Coin3D 和 SoQt

c++ - 如何消除警告 LNK4221?

c++ - 在传递给函数的 char 指针上使用下标运算符不会修改值。为什么?

找不到位/mathcalls.h

linux - 我如何加入 MongoDB 中的字段?

java - 使用 CREATE_NEW_PROCESS_GROUP 创建主机时,将 Ctrl+C 发送到子进程

c - 在 C 中反转字符串中的单词

c - 在 g_hash_table 中使用 int 作为键

c - 如何在 ubuntu 中获取软件包安装日期?

c++ - libboost_python-py27.so.1.53.o 没有这样的文件或目录