问题标签 [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 回答
1283 浏览

php - PHP中的锁文件

我有 PHP 脚本,目前应该只运行一次。如果其他人在它已经工作时尝试再次启动它,第二个进程应该立即终止并显示错误消息。

当我第二次尝试启动下面的代码时,它会等待 10 秒并且什么都不打印,而不是立即打印错误消息。它出什么问题了?

注意:脚本是从浏览器启动的!在控制台中一切正常

0 投票
0 回答
202 浏览

python - 无法删除锁定文件

我正在尝试使用zc.lockfile。我看到在与我的 python 脚本相同的目录中创建了一个锁定文件,但是当我按 ctrl+C 时,该文件没有被删除。我注册了一个回调,甚至已经测试了很长时间(不确定 zc.lockfile 是否会产生一个新线程并且需要时间来完成)。

0 投票
0 回答
154 浏览

r - 锁定文件退出状态 127

我一直在尝试使用 lockfile 来并行化我的一些进程。不幸的是,每当我尝试时,我都会收到 127 的退出状态错误。这是我的脚本中使用它的部分(它在一个循环中,用 R 编写):

有谁知道退出状态 127 是什么意思或我该如何解决这个问题?

谢谢!

0 投票
0 回答
72 浏览

bash - bash 脚本的 Cronjob 偶尔会暂停 2 分钟

我试图在 CEntOS 5.5 机器上运行一个 bash 脚本来检查远程 mysql 服务器上的复制。该脚本会创建一个临时锁定文件,并计划在 Crontab 中每分钟运行一次。但是有时 cron 作业会不同步 - 暂停或延迟作业两分钟,并尝试一次运行三个作业。这是在制造误报,充斥着我的邮箱,说“锁定文件存在!可能的冲突”。

这是脚本中可能感兴趣的部分:

这是 Cronjob:

这是日志文件输出的一部分: /var/log/cron 。我们可以看到 14:35 和 14:36 延迟了。

让我们将此字符串命名为 CRONJOB = (root) CMD (path/check_replication.sh > /dev/null 2>&1)

0 投票
2 回答
1787 浏览

git - Git:不要为只读操作创建 index.lock

有没有办法强制 git 不要为只读操作创建 index.lock git status

我在 tmux 中显示我的工作树的状态,每隔几秒钟更新一次。基本上我解析git status --branch --ignored --porcelain和其他一些命令的输出。问题是,大型存储库git status可能需要几秒钟才能完成。在此期间,我无法运行任何其他 git 命令,因为存储库已锁定。

编辑:

这是我的 tmux 线相关部分的一些图片。从左到右的符号说明:

与远程分支同步 | 2 阶段性变化 | 1 个未分阶段的更改 | 5 个被忽略的文件 | 1个存储条目: 在此处输入图像描述

与远程分支同步 | 工作树没有变化| 5 个被忽略的文件: 在此处输入图像描述

通过 1 次提交提前远程分支 | 工作树没有变化| 5 个被忽略的文件: 在此处输入图像描述

0 投票
1 回答
1601 浏览

c - 在 C 中使用 lockf 锁定文件不起作用

平台:ubuntu 14.4

gcc 版本:4.8.2

语言:C

情况:

我有两个文件来测试lockf的功能。一个是写,一个是读。

在写目标文件时应该被锁定,从而禁止读取打开同一个文件。

问题:

当我运行写程序时,我只是让它等待用户输入并启动读程序。不知何故,读取能够获取目标文件中的信息。这意味着 write 中的 lockf 没有正确锁定它。为什么我失败了?

代码:

读.c

写.c

ETC:

从手册页,

size参数是要锁定或解锁的连续字节数。要锁定或解锁的部分从文件中的当前偏移量开始,向前扩展为正大小或向后扩展为负大小。

我以为我为大小参数传递了错误的值,所以我也尝试传递 0。但结果是一样的。

0 投票
1 回答
2822 浏览

c - fcntl F_GETLK 总是返回真

我正在尝试使用锁定文件制作单个实例守护程序,但fcntl()似乎没有按预期工作......

所以如果它返回-1,我会调用get_lock_file_status并退出,以确保没有其他实例正在运行,而不是我做一些事情(fork chdir 等),并creat_lock_file在成功创建守护进程后调用 crate 并锁定 pid 文件......

当编译并运行程序按预期运行时,运行会创建锁定文件并将 pid 写入其中,但是当第二个实例启动时,第二个实例只是打开相同的锁定文件并将它自己的 pid 写入它!

我究竟做错了什么?第二个实例不应该返回 -1 inget_lock_file_status吗?

0 投票
1 回答
156 浏览

vba - 通过 VBA 删除后端文件

我有一个多用户数据库(POS/计费系统),分为前端和后端。每个用户在他们的平板电脑上都有这两个文件的副本,并且在办公室中维护一个主副本。每个用户每天发送导入到主数据库的数据导出,并且每周一次,主数据库的副本可供所有用户导入到他们的平板电脑。新的数据库文件以当前日期为前缀。(例如 2015-04-10_BE_MYDATABASE.mdb)所有这些都是通过 VBA 完成的,并且一切正常。但是,我的问题是我最终在平板电脑上有多个文件,有时用户将前端连接到错误的(较旧的)后端。

我想做的是,当用户更新数据库时,删除他们连接到的当前后端文件。我创建了代码以将当前数据库的备份副本保存在不同的文件夹中,然后将我的所有表连接到新导入的数据库。但是,由于锁定文件,我无法删除/杀死当前数据库。

请帮忙。

0 投票
1 回答
222 浏览

c# - 为什么 .Net 代码版本挂起,但 C++ 没有?

为什么 .Net (C#) 中的相同代码会挂起,但在 C++ 中却没有?真正的问题在于 System.IO.FileStream,但我将其简化为 CreateFile,但它仍然挂在 .Net 中(同时几乎 100% 类似于 C++ 代码):

这是不挂起的 C++ 版本:

0 投票
1 回答
56 浏览

c# - 使用 Visual Studio,如何防止网络共享上的发布项目被用户锁定?

我用 C# 创建了一个在登录时启动的应用程序,以跟踪通过数千台计算机安装的软件。维护几乎是不可能的,因为可执行文件是从网络共享启动的,并且经常按预期锁定。

使用另一个可执行文件可以通过在访问主可执行文件之前查看 xml 文件的真/假布尔值来解决此问题:

但我将不得不创建另一个项目。有没有办法避免这种情况?

编辑:数据库文件(SQLite)与主应用程序位于同一文件夹中。