问题标签 [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.
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!
file-locking - 文件锁定问题 - 通过 SCP 客户端同步
我正在尝试从 iPad 访问文件。它应该绘制一些实时数据。然而,java 程序生成的数据(文件)不允许 SCP 客户端将文件同步到服务器。它只能在停止 java 程序时访问,以便它可以释放它写入的文件。这有出路吗?就像程序生成文件时服务器的实时更新一样?
c# - 读取另一个进程使用的文件
我正在监视一个服务器程序正在写入的文本文件。每次更改文件时,内容都会输出到我程序中的一个窗口。
问题是我不能Streamreader
在文件上使用used by another process
. 设置Filestream
withReadWrite
不会有任何好处,因为我无法控制使用该文件的进程。
我可以在记事本中打开文件。即使服务器正在使用它,也必须可以访问它。
有没有解决这个问题的好方法?
我应该执行以下操作吗?
- 监控文件
- 更改时制作一个临时副本
- 阅读临时副本
- 删除临时副本。
每当服务器更改文件时,我都需要获取文件中的文本。
php - 在文件路径数组上使用flock()不起作用
我有一个功能可以锁定某个文件夹中的所有文件:
所以我称这个函数为:
现在似乎找到了文件夹中的所有文件,将它们分配给数组,但由于某种原因,它似乎没有锁定文件。在对其进行测试后(使用 sleep() 并尝试使用其他脚本写入文件),flock()
似乎对文件没有任何影响......
任何想法为什么会发生这种情况?
谢谢
c# - 如果被进程 B 锁定,如何使用进程 A 删除文件 temp.jpg
如果被进程 B 锁定,File.Delete() 文件 temp.jpg 如何与进程 A 一起使用。close 如何处理文件 temp.jpg
IOExceoption:进程无法访问该文件,因为它正被另一个进程使用
java - 基于文件的 java.util.concurrent.locks.Lock 等价物?
我正在寻找一种基于文件的锁,其 API 类似于java.util.concurrent.locks.Lock
(例如ReentrantLock
)。我真的很想拥有tryLock()
和它有时间限制的小妹妹一样,不需要创建和操作文件,自己清理并花时间完善并发实现(这很难和容易出错)。
它是否在核心 Java 6 或一些流行且广泛使用(和测试)的库中可用?
windows - Windows - 当更衣室进程崩溃时,文件会发生什么,通过网络锁定
考虑一个在“本地”机器上运行的进程,它将文件锁定在 Windows 共享文件夹中(即位于另一台“远程”机器上的文件)。
如果“本地”进程崩溃,甚至本地 PC 关闭,或发生网络故障,文件会发生什么?即没有人明确地解锁文件 - 那么它会如何以及何时解锁?
所有涉及的机器都运行 Windows。
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)
c - 有什么理由使用锁文件而不是羊群?
对于锁定文件,我的意思是:创建一个文件来锁定资源并在再次释放它时将其删除。
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)。我没有足够的专业知识来了解这如何导致我的问题以及如何解决它。
非常感谢您的任何建议。