问题标签 [filelock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
powershell - 删除未锁定(使用中)的文件
我正在尝试删除所有%TEMP%
超过 30 天的文件(不是文件夹)。问题是某些文件正在被程序使用,因此无法删除。我试图解决问题如下:
问题是 (IsFileLocked -filePath "($_)") -eq $false
不返回任何元素。
是否有可能get-childitem
阻止文件,以便在我运行时所有文件都被锁定get-childitem
?
任何其他想法如何解决这个问题?
java - 如何在不截断文件的情况下检查 FileLock?
我最近在我的下载器 asynctask 中添加了文件锁:
下载完成后,file.close()
释放锁。
从一个称为 BroadcastReceiver (不同的线程),我需要浏览文件,看看哪些已下载,哪些仍被锁定。我从trylock开始:
不幸的是,当创建 FileOutputStream 时,我读到文件被截断(0 字节)。
我设置为追加,但锁似乎没有生效,所有似乎都未锁定(完全下载)
是否有另一种方法来检查当前是否对文件应用了写锁,或者我在这里使用了错误的方法?另外,有没有办法从 ADB 终端或 Eclipse 调试文件锁?
c# - 文件锁定时避免崩溃?
评论解决:
应用程序崩溃是由另一个问题引起的
我正在从 2 个不同的应用程序读取/写入文件,当文件被读取或写入时,它将始终被应用程序 A 或 B 锁定,并且它们都使用FileShare.None
.
我的问题是,即使将阅读器包装在 try/catch 周围,它仍然会在 using 行使用 IOException 使应用程序崩溃(写入器不会发生)。
我也做了catch (IOException ...
一些我认为除了让它更具可读性之外没有什么区别的问题。
当文件被锁定并继续尝试直到文件可用时,忽略的正确方法是什么?
写
FileShare.None
请注意,当文件被用于读取或写入的任何进程时,我不会向任何人授予共享权限(作者和读者使用),所以基本上我正在处理异常,直到文件可用但无法正常工作。
php - shell脚本会在写入内容时锁定文件吗?
我有一个 shell 脚本,它将内容写入文件,
我有另一个使用 file_get_contents() 读取文件内容的 PHP 脚本。我知道 file_get_contents() 会生成一个 LOCK_EX (独占锁)。
我的问题是,
- shell脚本会在写入文件时锁定文件吗?如果是的话,它将使用什么类型的锁,独占,共享......?
- 由于我的 PHP 脚本也锁定了文件,它会阻止 shell 脚本写入并使文件对 shell 脚本不可用吗?
因为我以 1 秒的间隔在 shell 脚本中编写文件。我担心两个脚本中文件写入/读取失败的可能性。
c# - 基于 Windows 文件锁定错误的事件
我正在尝试研究如何创建一个 dotnet 事件,当有人尝试访问我的计算机上共享的已锁定文件时触发该事件(如 compmgmt.msc 所示)。
有谁知道我怎么能做到这一点?
java - 无法释放 Java FileLock
我没有与 nio 合作太多,并且在发布 FileLock 时遇到了一些麻烦。基本上,在 JVM-A 中,我在一个看起来像这样的文件上有一个不可共享的写锁:
然后在 JVM-B 中,我尝试在同一个文件上创建一个共享读锁,看起来像这样:
我的问题是 JVM-B 永远循环并且永远不会获得可共享的读锁。即使 JVM-A 存在writeLock.release();
writeChannel.close();
并且writeFile.close();
即使 JVM-A 退出并且不再运行,JVM-B 仍然无法获得文件的可共享读锁。
那么我在这里错过了什么?
java - 读取外部日志文件而不创建文件锁
尝试逐行读取日志文件(在 Java 中)。另一个进程(非 java 程序)正在同时写入此日志文件。
我有两种方法-
- BufferedReader (BufferedReader br = new BufferedReader(new FileReader(logFile));)
- RandomAccessFile (RandomAccessFile accessFile = new RandomAccessFile(logFile.getAbsolutePath(), "r");)
这两种方法是否都会导致文件被锁定,直到我在 BufferedReader/RandomAccessFile 对象上调用“关闭”方法?
是否有任何其他方式(Java)以不为其他进程/程序锁定/阻止文件的方式读取文件?
PS - 在我所有的搜索中,我遇到了这个问题的多个答案/解决方案(旧的和新的)。我只是想就这个问题寻求澄清/结束。
filelock - 使用 C 程序在 Linux 中锁定文件
我想从 c 程序创建一个文件,我想在我的 c 二进制文件中使用很长时间。但我想以这样的方式创建文件,直到我的 c 程序完成处理文件创建并解锁它之前没有人(可能使用 vim 或任何其他编辑器)能够打开和读取文件内容。
请提前帮助我。
asp.net - 如何通过站点在 IIS 上更新站点中的文件?
好的,所以我们在 IIS 中有一个 CMS 站点,在 ASP.NET 4.0 上运行。
用户想要更新站点上的一些图像,但由于它们最近已被提供,IIS 为它们打开了一个句柄,锁定了文件。这会导致用户在尝试上传文件的更新版本时收到以下错误:
有什么方法可以在 ASP.NET 代码中以编程方式告诉 IIS 释放它对文件的缓存句柄,以便可以更新它?显然,回收整个 IIS 进程在这里并不是一个真正可行的方法。
c# - c#来自文件关闭连接的图像
我在图片框中使用 c# 显示图像。然后我想更改图像的名称。我不能,因为我知道该图像正在被另一个进程使用。
我以这种方式打开图像
然后尝试以这种方式更改它的名称,我得到一个 IO 异常,说“该进程无法访问该文件,因为它正在被另一个进程使用。
对象 image1 不是持有图像吗?为什么文件仍然被上一个进程锁定?任何建议,将不胜感激。非常感谢!