问题标签 [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 投票
2 回答
1750 浏览

ios - 'Flock' iOS 应用程序如何检测照片的拍摄时间?

FlockBump开发的一款相当新的 iOS 应用,它有一个有趣的功能。它以某种方式知道照片何时被另一个应用程序拍摄,通知用户(以通知中心的方式),并要求用户将它们分享到相册中。当然还有其他有趣的功能,但我对我正在开发的另一个应用程序的这个功能特别感兴趣。

我看不出 API 如何直接促进这一点。我仔细查看了通知 API 文档,应用程序当然可以注册以在未来的日期/时间向用户显示通知,从而在那时被用户打开......但我找不到任何系统通知拍摄照片时。通知 API 还允许服务器生成通知,但我不知道 Flock 的服务器端如何知道用户何时在不同的应用程序中拍照。

几天前我安装了该应用程序,我似乎只有在拍照时才收到通知。它似乎不仅仅是一个日常提醒。

Flock(以及可能的其他应用程序)如何做到这一点的任何想法?

0 投票
1 回答
5113 浏览

ruby - 如何使用 File#flock 对独占锁发出非阻塞请求?

我应该如何申请非阻塞锁?

当单独尝试锁定文件时,为什么 Ruby 的File#flock不能按预期工作?将文件锁定在块中并不是解决此问题的正确解决方案,因为重点是显示锁定持久锁的行为。在块内使用 File#flock 会在块退出时释放锁,因此它不能正确演示问题。

File#flock 以多种方式失败,尤其是在请求非阻塞锁时。下面是一些例子。

File#flock 的失败示例

  • 使用多个独占锁时无限等待,因为#flock 不提供超时锁请求的方法。

    /li>
  • 在文件被独占锁定时请求非阻塞锁定会导致无效参数异常。

    /li>
  • 文档说#flock“根据locking_constant(下表中的逻辑或值)锁定或解锁文件。” 但是,逻辑或会引发Errno::EINVALErrno::EBADF取决于平台。

    /li>

Native File#flock 解决方案首选

虽然在无法获得独占锁时可能会使用Timeout 模块来引发Timeout::Error,但似乎 File#flock 应该能够本机解决这个问题。那么,实际上应该如何在不阻塞的情况下请求独占锁呢?

0 投票
3 回答
182 浏览

php - php。安全写入文件

我想知道下面的代码是否正确编写。我正在尝试编写一个安全的关键部分,该部分写入文件并尝试预测可能出现的任何问题。

有什么我应该注意的吗?我的意思是,我写了 try-catch 语句以防羊群中出现问题,因此它设法关闭文件并释放锁。还有什么需要注意的吗?

0 投票
2 回答
282 浏览

php - PHP 群写入打开文件

我有一个 php 脚本,用于记录网站的广告(横幅)并将它们存储到 .dat 文件中。在此文件中保存了 ID、URL 和其他重要信息。我遇到的问题是页面上在任何给定时间都有 4 个广告,因此当 php 脚本在打开时尝试写入时,.dat 文件通常会损坏。
我检查并尝试了这个解决方案,但它对我没有帮助: PHP 同时文件访问/flock() 问题

我现在使用的功能是这样的:

任何帮助将不胜感激,因为我已经为此苦恼了一段时间。附带一点信息,客户不希望重写他们的代码以使用数据库而不是文件,因此该选项已失效。

谢谢!

0 投票
1 回答
533 浏览

php - PHP非阻塞排他锁

我想使用排他/共享,阻塞和非阻塞锁,就像flock(). 如何使用信号量来实现这一点?

0 投票
4 回答
7548 浏览

c - 在 Linux 中独占打开一个设备文件

有哪些方法可以专门打开设备文件(例如,显示帧缓冲区)?

[信息:我已经知道flock() 和朋友,它们只有在其他应用程序也在使用它时才会起作用(换句话说:open() 会成功,但如果flock() 已经锁定,则会失败)--> 但是仍然可以使用从 open() 检索到的设备句柄来写入显示器..]

如果我想对设备文件强制执行此类独占访问,该怎么办?这样的强制执行怎么可能?

提前致谢!

0 投票
1 回答
200 浏览

php - PHP - 使用flock函数的计数器问题

我正在尝试使用 flock() 函数阻止文件以避免覆盖错误,但计数器经常重置(可能是因为读取问题)。

numeri.txt(计数器)

frame.php(PHP 文件)

有时计数器返回“|1”而不是“4895|533754”。

我该如何解决?

0 投票
1 回答
307 浏览

php - 使用flock()的PHP计数器问题

我的计数器有问题。我需要计算两个变量,用 | 分隔,但有时计数器不会增加变量的值。

numeri.txt(计数器):

5240|593389

这是 PHP 脚本:

我将计数器设置为正确的值,但 3-4 天后计数器没有计算出大约 50 次展示(“|”之后的数字)

如何修复代码?

0 投票
1 回答
576 浏览

linux - 如何使用flock来编排不同程序的运行,使它们可以在不同的时间运行?

在远程主机中,我想运行 3 个程序 A 、 B 和 C 但我希望它们在不同的时间运行,所以如果 A 正在运行,B 和 C 无法运行,所以当我想运行 A 时,如果我检测到文件被锁定我等到它被解锁

我的想法是在这些程序之间创建一个锁定文件,例如进程之间的互斥锁,例如:

如果文件被解锁;然后锁定文件 ./programA 解锁文件 fi

有人告诉我flock可以用于这个目的我在谷歌上搜索的代码是这样的:(flock -s 200 ./program)200>/var/lock/mylockfile

但我不知道如何将其制作为 shell 脚本 我制作 shell 脚本 trylock.sh 之类的

当我运行它时,我得到了

此外,如何将锁定超时设置为无限

谁能给出一些示例脚本?谢谢

0 投票
1 回答
2526 浏览

node.js - 安装 raw-socket 时 node-gyp 构建错误

我正在尝试在我的 nodejs 上安装 net-ping 模块,但在原始套接字安装阶段出现了一个奇怪的错误。

我在编译nodejs源代码进行安装时遇到了同样的flock问题,但是我添加LINK=g++ make了,问题就解决了。有没有办法解决这个问题?!


我试过 alias='LINK=g++ make' 但它没有用!