flock

    8热度

    2回答

    场景:我有很多进程需要通过网络获取文件。如果该文件已经下载,我希望它在磁盘上缓存。如果另一个进程正在下载文件,则阻塞,直到完成下载。 我一直在试图找到最简单的方法来做到这一点。最显而易见的方法是: create file w/ an exclusive lock active on it only if it doesn't exist (O_CREAT | O_EXCL) if file ex

    2热度

    3回答

    Erlang是否有一个进程间(我的意思是Linux或Windows进程)锁定机制如flock? 的使用将是如下: 一个Erlang服务器开始服务的存储库,并把一个文件锁(或其他) 如果另一个OS处理(另一二郎服务器或命令行Erlang脚本)与回购交互,然后文件锁警告可能的冲突

    5热度

    2回答

    我在研究PHP中的羊群机制,我很难理解LOCK_SH模式的功能。我在一个网站上阅读,它锁定了文件,以便其他脚本不能写入,但可以从中读取。下面的代码似乎却没有按预期方式工作:在file1.php我: $fp = fopen('my_file.txt','r'); flock($fp, LOCK_SH); sleep(20); flock($fp, LOCK_UN); 而在file2.ph

    3热度

    1回答

    我在读关于flock。示例中有以下行: flock($fh, LOCK_EX) or die "Cannot lock mailbox - $!\n"; 此调用是阻止调用权限?所以如果锁已经占用了呼叫块。 我假设,如果调用返回锁被授予。那么die何时会发生?

    0热度

    1回答

    我愿做这样的事情在zsh的脚本 flock my_lock_file if condition_a ; then do_b else do_c fi 不幸的是我得到了解析错误周围即可。 我想在同一个进程来执行这一点,所以像 flock my_lock_file ( if conditi

    1热度

    1回答

    我使用flock()方法获取上的目录咨询锁,并阻止另一进程在同一时间访问相同的目录。由于flock()上的文件句柄工作,我得先打开手柄上的目录: fopen('.', 'r'); 然而,这并不工作在Windows上: 的fopen():未能打开流:权限被拒绝 有没有办法在Windows上做同样的事情,还是这个平台的限制?

    1热度

    3回答

    我在使用PHP flock()函数时遇到问题。我需要编写两个不同的变量($O和$o),但通常它不写第二个变量($o),可能是因为该文件连续写入两次。 下面的代码: include_once "changevar.php"; changevar("O",$seguimedia,$filename,0); changevar("o",$offerta,$filename,0); $seguim

    4热度

    2回答

    我正在尝试实现一个地牢生成算法(presented here和demo-ed here),该算法涉及生成相互重叠的随机数量的单元格。然后将细胞推开/分开然后连接。现在,原始的海报/作者描述了他正在使用分离导向算法来将细胞均匀分布在一个区域上。我没有太多的植绒算法和/或分离转向行为的经验,因此我转向谷歌的解释(并发现this)。我的实现(基于上次文章提到的)如下: function pdg:_com

    1热度

    1回答

    这是超级简单,但它似乎没有工作。我正在使用Ruby的File#flock方法。首先,我锁定一个文件,然后释放锁,然后尝试再次锁定它。第二个锁失败,就好像该文件仍处于锁定状态。这是一个来自irb会话的直接复制粘贴。我使用在Ubuntu 13.04上运行的Ruby 2.1.0p0。 $ irb >> File.open('/tmp/asdf', 'r+').flock(File::LOCK_EX)

    0热度

    1回答

    我有以下几点的cron作业 7,22,37,52 6-16 * * * myuser /bin/bash -l -c "cd /to/my/path/; rake my_rake_task" 我需要一些文件锁定,因此任务不会运行一次以上,并期待用这个关于,我看到鸡群是这种情况下的一个好工具。 我的问题是,使用上述flock的正确语法是什么?这是我猜测的,但是,我有额外的用户定义等等。 这是正确