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