问题标签 [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 投票
2 回答
794 浏览

iis-6 - 为什么 SMTP 服务将文件锁定几个小时?

我们目前使用 IIS 6.0 中的 SMTP 服务来发送邮件。所有传入的中继邮件都由另一个服务监控,该服务处理中继邮件并删除/移动它。它工作正常!

然后,我们安装了一个证书以启用传入 TLS 传输,并添加了一些远程域用于传出 TLS 加密。远程域仅适用于我们知道启用了 TLS 的接收器 - 所有其他使用默认(本地)域,但未启用 TLS 加密。

在远程域上启用 TLS 加密后,它工作正常,但几个小时后,SMTP 服务开始将文​​件锁定几个小时,因此监控服务无法删除/移动文件。文件被锁定超过 4 小时(有时精确到 4 或 8 小时),有时几天后它们仍然被锁定(我们重新启动 SMTP 服务以解锁文件)。

我们已尝试删除证书以禁用传入的 TLS 传输,但这不起作用。

如果我们不能解决这个问题,那么我们必须使用 install 和另一个 3rd 方 SMTP 服务——有人知道启用 2-way TLS 的好的 SMTP 服务吗?

0 投票
1 回答
1742 浏览

java - 在java中锁定`properties`文件

我读了这篇文章。谁能告诉我这是否java.nio.FileLock.lock()适用于java.util.Properties课堂。

问题:

如果我将锁定的属性文件放在我读取的内容上,这是否会锁定文件以进行其他并发锁定?代码将锁定类似:

谢谢!


来自JavaDocs

1.单个 Java 虚拟机对特定文件持有的锁不重叠。

2.a. 文件锁代表整个 Java 虚拟机持有。它们不适用于控制同一虚拟机内的多个线程对文件的访问。

湾。文件锁对象可以安全地被多个并发线程使用。

与 1 相关:我试图从同一个 JVM 但从不同的线程锁定同一个文件,当一个线程试图锁定已经锁定的文件时它会抛出错误。我认为这种行为不是JavaDoc规范所期望的。

与 2 a 和 b 相关:在我看来,它们是矛盾的。我对吗?如果没有,谁能解释我有什么意义?

0 投票
2 回答
734 浏览

.net - NUnit 不会释放自定义类库 dll 上的锁定...运行 NUnit 后无法编译类库

我为 NUnit 单元测试编写了一个自定义类库。它在 {project root}\bin\Debug\ 文件夹中创建了一个包含我的 .NET IL 代码的 dll 文件。在这个类库中运行 NUnit 单元测试工作正常,但是如果我尝试再次编译我的类库,我会收到这个错误。NUnit 没有释放锁。这是什么原因造成的?我怎样才能防止这种情况发生?

NUnit 首次运行后编译时出现 Visual Studio 错误:

错误 {error #} {class library project name} 无法将文件 {class library project root folder} +“\bin\Debug\Tests.dll”复制到“bin\Debug\Tests.dll”。该进程无法访问文件“bin\Debug\Tests.dll”,因为它正被另一个进程使用。

所以我可以更改代码的唯一方法是关闭 NUnit 并重新打开 NUnit。我正在使用 NUnit 2.6。这很烦人。

0 投票
1 回答
1012 浏览

java - 如何锁定,打开文本文件以供阅读?

我想在我的程序中锁定我的输入文本文件,所以如果下一次出现的程序在同一个文件上运行,它会崩溃(抛出异常)。我知道我可以使用“java.nio.channels.FileLock”锁定文件,但只有在打开文件以供写入并且我只为读取而打开文本文件时才有可能。我不想使用“RandomAccessFile”来读取文件,因为速度太慢而且我的文件很大(10gb)。现在我用这个 wy 来读取我的文件:

我认为这是读取文本文件的快速方法。如何锁定我的文本输入文件?

0 投票
10 回答
62116 浏览

command-line - 如果给定文件或目录被锁定(由任何进程使用),如何检查命令行?

在尝试对此类文件执行任何操作之前,我需要知道这一点。

0 投票
1 回答
5506 浏览

c# - 删除被 vshost.exe c# 锁定的图像文件

我有 ac# 应用程序,它以一种形式显示图像。我正在尝试覆盖这些图像并重新生成它们。我在尝试删除现有图像时遇到异常(在这种情况下是 png)。我尝试处理图片框正在使用的图像,然后将其设置为 null,但由于共享冲突,我仍然遇到异常。不过,我可以毫无问题地去资源管理器并删除文件。

在试图找出锁定此图像的进程时,进程监视器告诉我它vhost.exe是托管我的应用程序的进程。

我怎样才能解决这个问题?有什么方法可以让主机释放文件的锁定,以便我可以删除/重新创建它?最终,我有大量的图像生成为缩略图,只要我的数据库发生影响图形的更改,就需要更新这些图像。我不想认为我需要调用命令外壳来执行此操作。

感谢您的任何建议。

加里

0 投票
6 回答
10276 浏览

java - 无法使用 java.nio.channels.FileLock 在 Linux 上锁定文件

我正在用 Java 创建一个应用程序,我只希望运行一个实例。为此,我创建了一个文件并在我的应用程序运行时获得了锁。

我有以下在 Windows 上工作的代码,但在 Linux 上失败:一旦我获得了一个锁而不解锁它,我可以获得另一个锁。

0 投票
0 回答
434 浏览

java - JAXB 会为我处理文件锁定吗?

我想确保在读取 xml 文件时没有其他进程修改它。这是我的代码:

当我执行代码时,我得到一个带有 IOException 的 javax.xml.bind.UnmarshalException 作为原因:

我会认为,因为获取锁的过程相同,所以不应该受到伤害。

如果我没有获得 FileLock,一切正常。

JAXB 是否已经为我处理文件锁定?

亲切的问候

塞巴斯蒂安

0 投票
2 回答
1025 浏览

c# - 多用户的 C# 文本文件共享方案

与其从头开始编写文本文件共享 Windows 窗体应用程序,我想我只想问是否有人有我可以使用的片段 (C#) 或方法?

该应用程序只需要创建一个文本文件,并允许多个用户从网络上的不同电脑上使用相同的应用程序将注释附加到文件中。基本上,我试图让多个用户使用这个简单的应用程序对项目进行频繁的更新/评论/状态更改。

我研究了一些文件流锁定建议,但再次想看看是否有人愿意分享代码片段。

提前感谢您的任何帮助。戴尔

0 投票
1 回答
327 浏览

java - 无法从 Java 中的锁定文件读取或写入

我已经使用 Java 中的 FileLock 锁定了一个文件,但现在我无法读取或写入它。我该怎么办?