如何在 Linux 下使用 c++ 知道文件是否被其他进程使用?
How can I know whether a file is being used by other process by using c++ under Linux?
我想将一个文件复制到另一个文件。但它总是失败。我仔细检查了我的代码,但我仍然不知道它出了什么问题。所以我想可能是其他进程正在使用的两个文件之一。所以首先,我想检查它们是否被其他进程使用。
如果是这样,是否有任何解决方案可以使用c ++停止该过程?
如果您的代码总是失败,我会假设这是因为代码存在问题,因为这是大约 99.999%1情况下的问题所在。
也就是说,在尝试之前检查是否可以打开文件没有多大意义,因为其他一些进程可能会在您检查和打开文件之间打开(或锁定或删除......(文件。
可靠的方法是继续尝试打开文件,然后优雅地处理失败(无论如何您都需要这样做(。
脚注:
1我刚刚编造的科学事实。
相关文章:
- 在C++中使用没有合作伙伴Class/Cpp文件的头文件是否实用
- 在头文件上包含 cpp 文件是否有缺点?
- 如何检查文件是否已存在于 fstream C++中
- 预处理的 C/C++ 文件是否特定于计算机?
- 如何使用 jpeglib.h 获取文件是否为 JPEG 类型
- 如何在 Linux 下使用 c++ 知道文件是否被其他进程使用?
- 使用 g++ 编译时列出所有 cpp/cc 文件是否正常?
- 如何检查文件是否复制成功?(便携式解决方案)C++
- 如何检查 win32 exe 文件是否已运行?(使用 win32 API 代码)
- 如何检查每个头文件是否包含必需的包含文件?
- 为许多类可能需要的所有常量变量制作独立的头文件是否是一种很好的做法?
- 使用 CodeBlocks + GCC 构建的可执行文件是否可以在任何 Windows 上运行?
- 如何检查给定文件是否是C++中的有效视频文件?
- 关于使用ifstream在C 中确定文件是否存在的问题
- #include 包含的头文件已包含的头文件是否常见?
- 如何测试文件是否被锁定和/或只读而不打开?
- 检查文件是否具有Windows c ++的可执行权限
- 检查给定的多个文件是否存在
- .txt文件是否已关闭
- 如果给定正确的运行时库,x86 可执行文件是否可以在任何 x86 平台上运行