问题标签 [file-locking]

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 回答
361 浏览

emacs - 无法锁定文件时如何使 Emacs 锁定缓冲区失败?

我想要一些 Emacs lisp 来操作来自不同 Emacs 进程的相同文件。所以我写了下面的脚本来检查它是如何lock-buffer工作的。但是,当尝试通过第二个 Emacs 进程 ( find-and-lock-file $es2 /tmp/dummy) 锁定文件时,它会停止。我需要去另一个终端并发送emacsclient --socket-name server-2 --eval '(kill-emacs)'以停止 Emacs 进程。如果我通过 来打开 UI,Emacs 会提示对文件执行什么操作emacsclient -t --socket-name server-2,但我想让这一切都在后台完成,并避免使用 Emacs 提示符来继续该过程。我怎样才能做到这一点?是否有可能使 Emacs 在无法锁定文件时引发一些错误?

编辑:@event_jr 使用file-locked-p. 我认为它在大多数情况下都有效。file-locked-p但是,我认为其他 Emacs 进程可以在和执行之间锁定文件lock-buffer所以,我会保持这个问题的开放性。解决了。谢谢,@event_jr!

0 投票
1 回答
1028 浏览

file-locking - 文件锁定问题 - 通过 SCP 客户端同步

我正在尝试从 iPad 访问文件。它应该绘制一些实时数据。然而,java 程序生成的数据(文件)不允许 SCP 客户端将文件同步到服务器。它只能在停止 java 程序时访问,以便它可以释放它写入的文件。这有出路吗?就像程序生成文件时服务器的实时更新一样?

0 投票
2 回答
68290 浏览

c# - 读取另一个进程使用的文件

我正在监视一个服务器程序正在写入的文本文件。每次更改文件时,内容都会输出到我程序中的一个窗口。

问题是我不能Streamreader在文件上使用used by another process. 设置FilestreamwithReadWrite不会有任何好处,因为我无法控制使用该文件的进程。

我可以在记事本中打开文件。即使服务器正在使用它,也必须可以访问它。

有没有解决这个问题的好方法?

我应该执行以下操作吗?

  1. 监控文件
  2. 更改时制作一个临时副本
  3. 阅读临时副本
  4. 删除临时副本。

每当服务器更改文件时,我都需要获取文件中的文本。

0 投票
1 回答
282 浏览

php - 在文件路径数组上使用flock()不起作用

我有一个功能可以锁定某个文件夹中的所有文件:

所以我称这个函数为:

现在似乎找到了文件夹中的所有文件,将它们分配给数组,但由于某种原因,它似乎没有锁定文件。在对其进行测试后(使用 sleep() 并尝试使用其他脚本写入文件),flock()似乎对文件没有任何影响......

任何想法为什么会发生这种情况?

谢谢

0 投票
4 回答
992 浏览

c# - 如果被进程 B 锁定,如何使用进程 A 删除文件 temp.jpg

如果被进程 B 锁定,File.Delete() 文件 temp.jpg 如何与进程 A 一起使用。close 如何处理文件 temp.jpg

IOExceoption:进程无法访问该文件,因为它正被另一个进程使用

0 投票
1 回答
478 浏览

java - 基于文件的 java.util.concurrent.locks.Lock 等价物?

我正在寻找一种基于文件的锁,其 API 类似于java.util.concurrent.locks.Lock(例如ReentrantLock)。我真的很想拥有tryLock()和它有时间限制的小妹妹一样,不需要创建和操作文件,自己清理并花时间完善并发实现(这很难和容易出错)。

它是否在核心 Java 6 或一些流行且广泛使用(和测试)的库中可用?

0 投票
0 回答
412 浏览

windows - Windows - 当更衣室进程崩溃时,文件会发生什么,通过网络锁定

考虑一个在“本地”机器上运行的进程,它将文件锁定在 Windows 共享文件夹中(即位于另一台“远程”机器上的文件)。

如果“本地”进程崩溃,甚至本地 PC 关闭,或发生网络故障,文件会发生什么?即没有人明确地解锁文件 - 那么它会如何以及何时解锁?

所有涉及的机器都运行 Windows。

0 投票
1 回答
647 浏览

java - java.io.File length() 可以锁定文件并阻止 File.delete() 工作吗?

我有一个多线程 java 应用程序,日志代码在 1 个线程中使用 File.length,但仅用于日志记录。

无论此日志记录如何,我都希望能够从其他线程中删除。

java.io.File.length() 调用可以锁定文件并阻止 java.io.File.delete() 调用工作吗?

我正在使用 Windows Sun/Oracle JRE(目前为 1.6.0_30)

0 投票
2 回答
136 浏览

c - 有什么理由使用锁文件而不是羊群?

对于锁定文件,我的意思是:创建一个文件来锁定资源并在再次释放它时将其删除。

0 投票
2 回答
1864 浏览

perl - Perl:flock() 在 Linux 上工作,忽略 AIX 上的先前锁定

简而言之:使用flock() 编写了一个Perl 脚本。在 Linux 上,它的行为符合预期。在 AIX 上,flock() 始终返回 1,即使脚本的另一个实例使用 flock() 应该持有锁定文件的排他锁。

我们发布了一个 Bash 脚本来重新启动我们的程序,依靠 flock(1) 来防止同时重新启动产生多个进程。最近我们部署在 AIX 上,默认情况下,flock(1) 不会出现,管理员也不会提供。为了简单起见,我写了一个 Perl 脚本,叫做flock,像这样:

我通过从两个终端选项卡几乎同时运行两次 (flock -n -x 200; sleep 60)200>lockfile 来测试脚本。

在 Linux 上,如预期的那样,第二次运行因“资源暂时不可用”而终止。

在 AIX 上,第二次运行获得锁,flock() 返回 1,这绝对不是预期的。

我了解flock() 在两个系统上的实现方式不同,Linux 版本使用flock(1),而AIX 版本使用fcntl(1)。我没有足够的专业知识来了解这如何导致我的问题以及如何解决它。

非常感谢您的任何建议。