问题标签 [flock]

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 投票
3 回答
526 浏览

php - 如何flock()图像?

我正在寻找 flock() 图像。

目前我正在使用以下

似乎GD库的文件句柄对flock无效。如何访问图像并聚集文件?

0 投票
1 回答
7312 浏览

php - PHP检查文件是否被flock()锁定?

fopen()如果文件存在,但当前被锁定,则会失败LOCK_EX

还是我必须打开它,然后尝试设置一个锁,以确定是否已经存在?

我也读过那份flock()遗嘱;

暂停 [脚本] 直到您无限期地获得锁定或直到您的脚本超时

http://www.php.net/manual/en/function.flock.php#95257

如果是这样,是否可以绕过这种“暂停”?

0 投票
1 回答
4995 浏览

python - python 的 fcntl.flock 函数是否提供文件访问的线程级锁定?

Python 的 fcnt 模块提供了一种名为 [flock][1] 的方法来证明文件锁定。它的描述如下:

对文件描述符 fd 执行锁定操作 op(也接受提供 fileno() 方法的文件对象)。有关详细信息,请参阅 Unix 手册flock(2)。(在某些系统上,此函数是使用 fcntl() 模拟的。)

查找flock的linux手册页,它仅指跨进程锁定,例如:

如果另一个进程持有不兼容的锁,则调用flock() 可能会阻塞。要发出非阻塞请求,请在上述任何操作中包含 LOCK_NB(通过 ORing)。

所以我的问题是:flock() 是否还会提供线程安全锁定并锁定同一进程中的多个线程以及来自不同进程的线程?

[1]:http ://docs.python.org/library/fcntl.html#fcntl.flockfunction 使用 fcntl() 进行模拟。)

0 投票
1 回答
7310 浏览

python - 遇到flock() 函数的问题

我有一个关于如何flock()工作的问题,尤其是在 python 中。我有一个打开串行连接的模块(通过os.open())。我需要使这个线程安全。在同一个模块中使用时,使其线程安全很容易threading.Lock(),但是如果模块从不同的地方导入,它就会中断。

我正在考虑使用flock(),但我无法找到足够的关于羊群如何工作的信息。我读到flock() 会在文件关闭后解锁文件。但是,如果 python 崩溃,是否存在保持文件打开的情况?

LOCK_EX如果设置了锁定文件,究竟允许使用什么?只是锁定文件的模块?从最初运行的脚本中导入的任何模块?

0 投票
4 回答
2329 浏览

perl - 如何确保一次只运行一个 Perl 脚本的副本?

我需要确保一次只运行我的 Perl 脚本的一个副本。根据这里的建议,我写了一个子来做检查:

但它不起作用。可能是什么问题?

0 投票
2 回答
212 浏览

php - PHP 群和文件上传

我有两个进程在彼此独立的不同脚本中运行。

  1. PHP #1 脚本读取文件的文件名并将其写入数据库
  2. PHP #2 脚本上传文件

我想创建第三个脚本(也是独立的),它仅在脚本#2 完全完成文件上传后执行。

我正在考虑使用PHP的flock函数来确定文件是否被锁定。我想脚本#3 需要包含某种设置在计时器上的羊群检查功能,以检查文件是否已解锁,如果是则继续。

注意:脚本 #3 会知道执行检查的文件名

有任何想法吗?如果文件可以链接起来会容易得多,但它们是独立执行的。

0 投票
1 回答
2263 浏览

php - file() 读取时是否锁定文件?

我正在使用 file() 来读取文件,例如带有标签的数组。我想锁定文件,但我似乎无法让 flock() 处理该文件。是否有可能做到这一点?如果是这样,怎么做?如果不是,file() 是否从一开始就锁定文件并缓解任何潜在的共享问题?

0 投票
2 回答
1855 浏览

php - LOCK_NB 忽略

运行此代码两次:

总是给我“书面”的输出

表示LOCK_NB已跳过,任何线索(在 winbdows 和 unix 上)

编辑(2012-03-29 仍未修复):https ://bugs.php.net/bug.php?id=54453&edit= 3 PHP Bug #54453

0 投票
2 回答
5080 浏览

node.js - 用 node.js 调用群?

我有 cron 作业来运行 node.js 脚本。

想使用flock来锁定文件以确保我的cron作业不重叠。

任何用于文件锁定的好模块?

或者我应该在子进程中调用它?

或者我不应该做任何文件锁定?

抱歉,我是新手,不确定文件锁定是否适用于 node.js 等异步环境。谢谢

0 投票
4 回答
3341 浏览

php - 防止flock引起的死锁

我正在尝试在繁忙的站点上模拟文件写入。我编写了以下代码,最终导致计算机冻结。

我不能使用 LOCK_NB 因为它不能在 Windows 上工作。如果同时执行上述代码的进程少于 13 个,则代码可以正常工作。我该如何应对这种僵局情况?