我如何查看我在文件上使用 fopen 的次数
How can I see how many times I have used fopen on a file?
我正在开发一个Linux系统。 我有一个多线程应用程序,它在单个文件f
上打开了n
个文件句柄。 如何在运行时查看进程中有多少个文件句柄引用n
?
您可以检查/proc/self/fd/
中的符号链接,看看是否有多个描述符指向同一个文件。
您可以运行lsof -p pid of your process
来验证进程中打开的文件
我认为它可以像编写函数一样简单
如果你愿意,你可以做一个简单的类,然后你可以在打开时递增,在收盘时递减并处理其他东西。
long myopen(char* filenmae)
{
static long count = 0;
// open file
// mutex
count++;
// mutex
return count;
}
相关文章:
- 函数何时会在c++中包含stack_Unwind_Resume调用
- Python中的for循环与C++有何不同
- 试图创建流或fopen时程序崩溃
- 在C++中释放内存期间,迭代器与指针有何不同
- 使用 fopen 打开 .pak 文件并使该文件应用于 const 无符号字符* (C++)
- fopen 在 gdb 中返回 NULL
- 标准对此指向成员函数类型模板参数有何说明?是我的代码有误,还是 MSVS 16.6 有问题?
- 类中的 C++ int 被设置为值,似乎不知从何而来
- -fvisibility-inline-hidden 与 gcc 中的 -fvisibility=hidden 有何不同
- fopen 在创建大量文件后因 EFBIG "File too large" 而失败
- fopen 与常量字符 * 从 QString 是不可能的
- 收益率和回报有何不同?
- 覆盖私有功能,它与受保护功能有何不同?
- 擦除删除成语的性能增益从何而来
- 无论代码长度如何,以下代码的内存要求有何不同?
- "virtual"对C++析构函数有何影响?
- 如果我对"while"块发表评论,为什么程序会死机?其中的"yield"线有何影响?
- 在C++中打开的带有"fopen"的mmap文件
- Java System.loadLibrary 不会在 /usr/lib/x86_64-linux-gnu/ 文件夹中查
- 输出 Befor 给出字符串的输入以查找回文