c++ - 如何判断一个文件是否已经关闭

标签 c++ c

我正在编写一个单元测试,我正在尝试找到一种方法来测试我的类是否已正确关闭文件句柄(它使用旧式的 open() 和 close())。理想情况下,我希望能够在不访问实际句柄的情况下执行此操作 - 我希望能够检查文件系统中的文件并确定它当前是否在其他地方打开。

我试过通过独占文件锁来做到这一点,但运气不佳。此外,文件锁非常不能跨平台(这需要在 Solaris、Linux 和 Windows 上工作)。

有什么建议吗?

最佳答案

如果您想知道文件系统中的给定文件是否被机器上的某个进程打开,可以使用一个名为 lsof 的有用工具。对于各种 unix 和类 unix 系统,它可以告诉您这一点。

关于c++ - 如何判断一个文件是否已经关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4434609/

相关文章:

c++ - 调用某些回调函数两次导致段错误 : Nan

c - 反转字符串的递归函数

c - 使用 scanf 将 std 输入解析为链表

c++ - ELI5如何安装像curl这样的外部库?

C++ boost/property_tree/ini_parser.hpp : No such file or directory

c++ - 在套接字编程中发送额外的查询

c++ - 允许类的用户 move 私有(private)成员

c++ - 创建 2 个包含 2 个结构的数组。

c - 如何仅取二维数组的某些行和列的平均值?

c - 如何创建不重复的随机数?