如何强制删除 C/C++ 中的锁定文件?
Posted
技术标签:
【中文标题】如何强制删除 C/C++ 中的锁定文件?【英文标题】:How can I force the deletion of locked files in C/C++? 【发布时间】:2008-10-18 19:17:33 【问题描述】:如何以编程方式强制删除被操作系统或任何其他 C/C++ 程序锁定的文件?功能应该类似于http://ccollomb.free.fr/unlocker的“Unlocker”软件。
【问题讨论】:
相关问题:***.com/questions/301174/… 【参考方案1】:看this 示例。
【讨论】:
【参考方案2】:如果您使用的是 Win32,官方的做法是将其标记为在重新启动时删除,并要求用户重新启动。要在重新启动时标记要删除的文件,请使用带有 MOVEFILE_DELAY_UNTIL_REBOOT 标志的 MoveFileEx(将 NULL 作为目标传递)。
【讨论】:
相关答案:***.com/questions/259253/…【参考方案3】:这实际上取决于底层文件系统。
例如,在 Linux 上,ext3 支持不属于标准 unix 读/写/执行/用户/组/世界范式的文件属性。
There is a nice summary of the available attributes here:
我第一次遇到时真的让我发疯了,即使是 root,甚至在关闭 bottable CD 后,我仍然无法从硬盘驱动器中删除文件......顺便说一句,创造性使用的可能性这个恶作剧几乎是无穷无尽的...... :)
【讨论】:
这与属性无关。它关于使用锁定文件的正在运行的进程。唯一的办法就是杀死进程以上是关于如何强制删除 C/C++ 中的锁定文件?的主要内容,如果未能解决你的问题,请参考以下文章