问题标签 [lockfile]

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

unix - procmail 锁定文件实用程序和 NFS

是否有人将 procmail 附带的 lockfile 实用程序与 NFS 挂载目录一起使用?

lockfile 手册页指出“Lockfile 是 NFS 抗性和 8 位干净的”。

0 投票
41 回答
125040 浏览

bash - 确保一次只运行一个 shell 脚本实例的快捷方式

确保在给定时间只运行一个 shell 脚本实例的快速而简单的方法是什么?

0 投票
7 回答
21965 浏览

python - Python:用于创建基于 PID 的锁定文件的模块?

我正在编写一个 Python 脚本,它可能会或可能不会(取决于一堆东西)运行很长时间,我想确保多个实例(通过 cron 启动)不会互相踩到脚趾. 执行此操作的合乎逻辑的方法似乎是基于 PID 的锁定文件……但如果已经有代码可以执行此操作,我不想重新发明轮子。

那么,是否有一个 Python 模块可以管理基于 PID 的锁定文件的详细信息?

0 投票
14 回答
131538 浏览

linux - 确保只有一个 Bash 脚本实例正在运行的最佳方法是什么?

确保给定脚本只有一个实例正在运行的最简单/最好的方法是什么——假设它是 Linux 上的 Bash?

目前我正在做:

但它有几个问题:

  1. 它将检查放在脚本之外
  2. 它不允许我从不同的帐户运行相同的脚本 - 我有时会喜欢。
  3. -C仅检查进程名称的前 14 个字符

当然,我可以编写自己的 pidfile 处理,但我觉得应该有一个简单的方法来做到这一点。

0 投票
4 回答
35708 浏览

java - 为什么我的程序会创建空的 .lck 文件?

我正在尝试使用 Java Logger。我得到了包含内容的记录器文件(name.log),它可以工作,而且我还得到一个空name.log.lck文件。

为什么会出现此文件,创建它们的程序是什么以及如何删除此行为?

0 投票
1 回答
1898 浏览

delphi - Delphi 在 Windows 7 64 上使用 LockFile

我发现,如果您从 64 位 Windows 7 机器打开位于共享文件夹中的 32 位服务器上的文件,请读取它,锁定它,然后再次打开它。当您关闭所有打开的句柄时,文件实际上保持打开状态。

具体步骤如下:

  1. 将长度在 7000 到 10000 字节之间的文件放在 32 位 Windows 机器上的共享文件夹中,我们使用的是 Windows Server 2003。

  2. 为 Win32 编译以下代码,使其在 WOW64 下运行。请注意,为了简单起见,我错过了 try..finally、声明等。
    (参见下面的代码片段;当 StackOverflow 错误在列表中时,代码格式不正确)

  3. 在 64 位 Windows 机器上运行应用程序。该文件必须在 32 位机器上,我们使用 windows server 2003,如果文件在 64 位服务器上,则不会出现该错误。

  4. 终止您的应用程序。

  5. 如果您现在打开服务器上的计算机管理器(控制面板-> 计算机管理)并查看文件所在的共享文件夹中打开的文件,您会看到您的文件仍处于打开状态。

这是代码:

如果您在第二次打开文件时使用 FILE_FLAG_NO_BUFFERING 标志,或者在锁定文件之前未读取文件,则不会出现此问题。

有没有人在不使用 FILE_FLAG_NO_BUFFERING 的情况下之前注意到这一点或知道如何解决它?请注意,仅当 64 位 Windows 客户端在 32 位 Windows 机器上以这种方式打开文件时才会发生这种情况,32 位或 64 位到 64 位不会发生这种情况。

0 投票
2 回答
8212 浏览

tomcat6 - 我不明白#service tomcat6 status 的结果

我正在尝试让 Tomcat 6 在 Fedora 14 上运行。我对这类事情很陌生,尽管我之前已经设法让 Apache 运行。

我怀疑我在一些非常基本的级别上犯了错误,因为找不到测试页面( http://localhost:8080 )。

如果我尝试以 root 或普通用户身份检查服务的状态,这就是我得到的:

所以我很困惑,因为我似乎被告知 Tomcat 6 正在运行和没有运行。如果有人能告诉我这到底是在告诉我什么,以及我的怀疑下一步应该转向哪里,我将不胜感激。

文档中没有提到任何此类事情。

0 投票
2 回答
555 浏览

ruby - 如何检查文件是否正在编辑?(红宝石)

我正在编写一些代码来将电子邮件写入文件,让您在自己的编辑器中对其进行编辑,完成后您可以告诉我的代码继续执行。我想让它捕获您仍然打开文件的常见错误,因此可能没有保存它。

我的第一次尝试是尝试获得文件的排他锁(使用File.flock),但从未抓住它。更多的谷歌搜索表明这是一个难题

最好的建议似乎是寻找常见的锁定文件,例如vi foowill make .foo.swpwhile joe foowill make .#foo

所以问题是,有没有更好的方法来判断文件是否正在被编辑?如果没有,是否有所有常见锁定文件命名约定的列表?

0 投票
2 回答
727 浏览

python - 我在哪里更改此 Python 代码片段以将临时文件保存在 tmp 文件夹中?

这是一个实现文件锁定的代码示例,因此应用程序只能打开一个实例。它目前可以工作,但将锁定文件保存在主文件夹(Ubuntu)中。如果应用程序崩溃,锁定文件不会被删除,这是不好的......

我不能很容易地看到我应该在哪里更改代码以将其保存在 c:/tmp-folder 中?

0 投票
3 回答
3266 浏览

makefile - 在 Makefile 中,如何清理 lockfile 文件?

在 GNU Make 3.81 中,如果工具链的任何部分出现错误,我需要删除一个锁定文件。是否有一个特殊的目标可以让我这样做?我需要编写包装脚本吗?

在下面的示例中,如果 file.out 的规则失败,我需要 unlock_id 发生。

谢谢!-杰夫