在我的代码中,我试图使用rm-rf删除一个包含文件和子目录的目录。
在删除时,我收到错误消息";目录不为空";。之所以会发生这种情况,是因为rm-rf递归地删除目录中的文件,然后出来删除目录。同时,其他线程在同一目录中创建新文件。
有办法解决这个问题吗。我想强制删除目录,如果可能的话,锁定目录进行写入,然后删除它。我使用的是linux和C++。
如果我正确理解了您的问题,您希望停止进程写入特定目录。继续rm
首先,我们将用fuser --mount <PATH>
识别写入目录的进程。
然后我们将暂停这些过程:
kill -STOP <PID>
kill -CONT <PID>