问题标签 [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.

0 投票
1 回答
4237 浏览

powershell - 删除未锁定(使用中)的文件

我正在尝试删除所有%TEMP%超过 30 天的文件(不是文件夹)。问题是某些文件正在被程序使用,因此无法删除。我试图解决问题如下:

问题是 (IsFileLocked -filePath "($_)") -eq $false不返回任何元素。

是否有可能get-childitem阻止文件,以便在我运行时所有文件都被锁定get-childitem

任何其他想法如何解决这个问题?

0 投票
2 回答
345 浏览

java - 如何在不截断文件的情况下检查 FileLock?

我最近在我的下载器 asynctask 中添加了文件锁:

下载完成后,file.close()释放锁。

从一个称为 BroadcastReceiver (不同的线程),我需要浏览文件,看看哪些已下载,哪些仍被锁定。我从trylock开始:

不幸的是,当创建 FileOutputStream 时,我读到文件被截断(0 字节)。 我设置为追加,但锁似乎没有生效,所有似乎都未锁定(完全下载)

是否有另一种方法来检查当前是否对文件应用了写锁,或者我在这里使用了错误的方法?另外,有没有办法从 ADB 终端或 Eclipse 调试文件锁?

0 投票
6 回答
4425 浏览

c# - 文件锁定时避免崩溃?

评论解决:
应用程序崩溃是由另一个问题引起的

我正在从 2 个不同的应用程序读取/写入文件,当文件被读取或写入时,它将始终被应用程序 A 或 B 锁定,并且它们都使用FileShare.None.

我的问题是,即使将阅读器包装在 try/catch 周围,它仍然会在 using 行使用 IOException 使应用程序崩溃(写入器不会发生)。

我也做了catch (IOException ...一些我认为除了让它更具可读性之外没有什么区别的问题。

当文件被锁定并继续尝试直到文件可用时,忽略的正确方法是什么?

FileShare.None请注意,当文件被用于读取或写入的任何进程时,我不会向任何人授予共享权限(作者和读者使用),所以基本上我正在处理异常,直到文件可用但无法正常工作。

0 投票
1 回答
464 浏览

php - shell脚本会在写入内容时锁定文件吗?

我有一个 shell 脚本,它将内容写入文件,

我有另一个使用 file_get_contents() 读取文件内容的 PHP 脚本。我知道 file_get_contents() 会生成一个 LOCK_EX (独占锁)。

我的问题是,

  1. shell脚本会在写入文件时锁定文件吗?如果是的话,它将使用什么类型的锁,独占,共享......?
  2. 由于我的 PHP 脚本也锁定了文件,它会阻止 shell 脚本写入并使文件对 shell 脚本不可用吗?

因为我以 1 秒的间隔在 shell 脚本中编写文件。我担心两个脚本中文件写入/读取失败的可能性。

0 投票
0 回答
110 浏览

c# - 基于 Windows 文件锁定错误的事件

我正在尝试研究如何创建一个 dotnet 事件,当有人尝试访问我的计算机上共享的已锁定文件时触发该事件(如 compmgmt.msc 所示)。

有谁知道我怎么能做到这一点?

0 投票
1 回答
644 浏览

java - 无法释放 Java FileLock

我没有与 nio 合作太多,并且在发布 FileLock 时遇到了一些麻烦。基本上,在 JVM-A 中,我在一个看起来像这样的文件上有一个不可共享的写锁:

然后在 JVM-B 中,我尝试在同一个文件上创建一个共享读锁,看起来像这样:

我的问题是 JVM-B 永远循环并且永远不会获得可共享的读锁。即使 JVM-A 存在writeLock.release(); writeChannel.close();并且writeFile.close();即使 JVM-A 退出并且不再运行,JVM-B 仍然无法获得文件的可共享读锁。

那么我在这里错过了什么?

0 投票
2 回答
5996 浏览

java - 读取外部日志文件而不创建文件锁

尝试逐行读取日志文件(在 Java 中)。另一个进程(非 java 程序)正在同时写入此日志文件。

我有两种方法-

  1. BufferedReader (BufferedReader br = new BufferedReader(new FileReader(logFile));)
  2. RandomAccessFile (RandomAccessFile accessFile = new RandomAccessFile(logFile.getAbsolutePath(), "r");)

这两种方法是否都会导致文件被锁定,直到我在 BufferedReader/RandomAccessFile 对象上调用“关闭”方法?

是否有任何其他方式(Java)以不为其他进程/程序锁定/阻止文件的方式读取文件?

PS - 在我所有的搜索中,我遇到了这个问题的多个答案/解决方案(旧的和新的)。我只是想就这个问题寻求澄清/结束。

0 投票
3 回答
9307 浏览

filelock - 使用 C 程序在 Linux 中锁定文件

我想从 c 程序创建一个文件,我想在我的 c 二进制文件中使用很长时间。但我想以这样的方式创建文件,直到我的 c 程序完成处理文件创建并解锁它之前没有人(可能使用 vim 或任何其他编辑器)能够打开和读取文件内容。

请提前帮助我。

0 投票
2 回答
945 浏览

asp.net - 如何通过站点在 IIS 上更新站点中的文件?

好的,所以我们在 IIS 中有一个 CMS 站点,在 ASP.NET 4.0 上运行。

用户想要更新站点上的一些图像,但由于它们最近已被提供,IIS 为它们打开了一个句柄,锁定了文件。这会导致用户在尝试上传文件的更新版本时收到以下错误:

有什么方法可以在 ASP.NET 代码中以编程方式告诉 IIS 释放它对文件的缓存句柄,以便可以更新它?显然,回收整个 IIS 进程在这里并不是一个真正可行的方法。

0 投票
5 回答
10744 浏览

c# - c#来自文件关闭连接的图像

我在图片框中使用 c# 显示图像。然后我想更改图像的名称。我不能,因为我知道该图像正在被另一个进程使用。

我以这种方式打开图像

然后尝试以这种方式更改它的名称,我得到一个 IO 异常,说“该进程无法访问该文件,因为它正在被另一个进程使用。

对象 image1 不是持有图像吗?为什么文件仍然被上一个进程锁定?任何建议,将不胜感激。非常感谢!