我有一个将文件写入文件夹的应用程序,如果我的应用程序的另一个实例尝试写入同一目录,我想阻止(或至少显示警告)。
有没有办法可以暂时阻止对文件夹的访问以防止这种情况发生?
编辑:
我有一个关于创建临时文件用作标志的想法,但是有没有办法确保在我的应用程序崩溃时删除临时文件?
为什么不使用锁定文件?
您必须确保“检查并创建”操作是原子的。如果它告诉你锁文件已经存在,那么有另一个进程正在访问该目录。
阻止其他进程的整个目录不是您想要的。您还将阻止 shell 和文件浏览器访问它。
我看到了您的编辑:您可以将文件的进程 ID 写入锁定文件。如果您的应用程序检测到现有的锁定文件,它可以检查是否存在具有该 ID 的进程。如果没有,请删除锁定文件并重新开始。