问题标签 [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.
c - 如何在C程序和shell脚本之间使用flock
我有一个 shell 脚本和 ac 程序
在C程序中,相关的代码片段有:
我想在同一台主机上运行shell脚本和C程序,我希望它们可以在不同的时间交替运行taskA
,taskB
但我对flock不熟悉,所以存在一些权限问题或打开文件失败
例如,如果我运行 C 程序并让它完成然后再次运行它,我会得到“打开文件失败”并且权限是
如何修改脚本和代码?谢谢!
php - 带羊群的 PHP 计数器
我的计数器有问题。我需要计算两个变量,用 a 分隔|
,但有时计数器不会增加变量的值。
numeri.txt(计数器):
这是 PHP 脚本:
我有另一个慢得多的计数器,但可以准确计算两个值(点击次数和展示次数)。有时,计数器numeri.txt
计算的展示次数比其他计数器多。为什么?我怎样才能解决这个问题?
erlang - erlang进程间锁机制(如flock)
Erlang 是否具有进程间(我的意思是 Linux 或 Windows 进程)锁定机制,例如 flock ?
用法如下:
- Erlang 服务器开始为存储库提供服务,并设置文件锁(或其他)
- 如果另一个 OS 进程(另一个 Erlang 服务器或命令行 Erlang 脚本)与 repo 交互,则文件锁会警告可能的冲突
php - PHP覆盖文件问题
覆盖文件时出现问题。我尝试了一切,但有时(也许只是时间问题)似乎没有任何效果。这是代码:
$seguimedia、$filename 和 $offerta 设置正确。
更改变量.php:
在这种情况下,函数 changevar() 必须更改文件 $filename 中的两个变量($o 和 $O),但通常它会失败并且没有任何变化。我怎样才能解决这个问题?
php - 使用flock的PHP问题 - 文件锁定
我在使用 PHPflock()
函数时遇到问题。我需要编写两个不同的变量($O
和$o
),但通常它不写第二个变量($o
),可能是因为该文件连续写入两次。
这是代码:
$seguimedia
,$filename
并且$offerta
设置正确。
更改变量.php:
PHPflock()
是避免此类问题的好方法吗?
我需要使用哪些语言/功能?
c - 在 sigaction 处理程序中使用flock()
flock()
通常是异步信号安全的,因为它是一个系统调用。它的语义使得很难以不同的方式实现它。它不在 POSIX 的异步信号安全函数列表中,因为它根本不在 POSIX 中。
是否可以flock()
毫无问题地在 sigaction 处理程序中使用?
c - 命名信号量或群,哪个更好 C linux
我正在尝试创建一个将由多个进程使用的共享内存。MPI
这些进程使用调用 ( MPI_Send
, )相互通信MPI_Recv
。
我需要一种机制来控制对这个共享内存的访问我昨天添加了一个问题,看看 MPI 是否提供了任何工具来做到这一点。MPI 创建的进程的共享内存访问控制机制,但 MPI 似乎没有这样的规定。
所以我必须选择named semaphore
或flock
。
对于命名信号量,如果任何进程在没有调用的情况下突然死亡sem_cloe()
,则该信号量始终存在并且可以被ll /dev/shm/
. 这有时会导致死锁(如果我再次运行相同的代码!),因此我目前正在考虑使用flock。
只是想确认一下flock
最适合这种类型的操作?
使用有什么缺点吗flock
吗?
named semaphore
除了和还有什么flock
可以用的吗?
我正在linux下研究C。
linux - 如何在 Linux 中原子地创建锁定文件?
场景:我有许多正在运行的进程需要通过网络获取文件。如果文件已经下载,我希望它缓存在磁盘上。如果另一个进程正在下载文件,则阻塞直到下载完成。
我一直在努力寻找最简单的方法来做到这一点。显而易见的方法是:
该系统在(看似)没有竞争条件的情况下实现了上述目标
不幸的是,我找不到有关如何使用 open() 等创建在 Linux 中锁定的文件的文档。如果我将创建步骤拆分为:
现在创建和锁定之间存在竞争条件(非创建进程在创建者之前获取锁)。
我意识到我可以为每个文件使用一个外部锁定文件(例如文件名 + '.lock),这是我在尝试创建文件名之前获得的,但这感觉......不优雅(我现在需要担心如何处理实际上有.lock 后缀!)
无论如何都可以原子地创建和锁定它(如 Windows 提供的那样),或者外部 lockfile 方法几乎是标准/必需的?
php - 如何在 Windows 上的 PHP 中锁定目录以进行独占访问?
我正在使用flock()方法来获得一个目录的咨询锁,并防止另一个进程同时访问同一个目录。因为flock()
对文件句柄进行操作,所以我必须先在目录上打开一个句柄:
但是,这在 Windows 上不起作用:
fopen(。):无法打开流:权限被拒绝
有没有办法在 Windows 上做同样的事情,还是这个平台的限制?