flock

    0热度

    1回答

    在我的php脚本中,解析一个字符串之后,我需要将一些数据写入一个文件(创建之后如果不存在)。在写入文件之前,我需要独占锁定以避免问题。 这是我的代码: foreach ($elements[0] as $current) { $file_handler = fopen($my_folder . "/" . $current . ".txt", "a"); $locked = f

    0热度

    1回答

    我对bash脚本很陌生。我已阅读羊群的手册页,但我仍不清楚它是如何在这里工作的。如果有人能为我解释,我会很感激。 if [ "$passfile" != "/etc/passwd" ]; then ( flock -e 200 echo "$theUsername:$thePasswd:$theUserIdd:$theGroupid:$theComment:$theH

    1热度

    1回答

    我想将文件读入字符串,修改内容并将处理后的字符串写回文件。 此外,对服务器的另一个请求可能会启动得太早,并尝试在第一次通过之前写入相同的文件 - 这绝不会发生(目前为止,即使使用flock) - 如果脚本将被阻塞,锁被释放。 这是某种残缺办法 $h = fopen($fp, 'a+'); flock($h, LOCK_EX); $oTxt = ''; while (!feof($file))

    1热度

    1回答

    我有一个php脚本,处理并创建大量使用cron作业每5分钟运行的图像。我希望能够限制这一点,以便每次只能运行一次,如果每次运行时间超过5分钟,则不会重叠。 flock()似乎是实现这一目标的最佳方式,但我很难理解我应该如何将其添加到我现有的脚本中。我的cron作业是安装运行下面的文件 - images.php: $array=array("Volvo","BMW","Toyota","Audi",

    0热度

    1回答

    我编辑了整个问题以更好地表示答案。 我有一个for循环,将访问和编辑图像文件。在循环内进行了file_exists()检查。如果图像文件不存在,则会创建一个空白文件。 发生的事情是,即使在创建文件后,file_exists()仍然会返回false并创建新的空白文件(覆盖以前的操作)。 发生这种情况是因为file_exists()和其他文件函数缓存了结果。为了防止这种情况,请使用clearstatc

    3热度

    1回答

    我有一个问题,以找到在bash锁定文件的一个很好的概念锁住了文件, 基本上我要实现以下目标: 锁定文件 读入的数据该文件(多次) 做数据的东西。 写新东西到文件(不一定为末) 解锁文件 与羊群这样做似乎不可能对我来说,因为文件描述符将只是移动一次结束文件。 另外创建一个Tempfile失败,因为我可能会覆盖已经读取的行,这也是不可能的。 编辑: 另请注意,我不控制的其他脚本可能会尝试写入该文件。

    0热度

    1回答

    我似乎无法从crontab执行此命令。它从命令行工作正常。 index.js #!/usr/bin/env node //do stuff 的crontab */5 * * * * flock -n /tmp/reddit.lock /usr/local/bin/node /home/user/projects/reddit/index.js -u me -p 'pass' -vvv

    0热度

    3回答

    写我有一些问题的fopen 的第一个问题,当我去添加新条目始终把对文件的末尾并没有启动文件,例如,它是: $fp=fopen("text.dat","a"); fputs($fp,"Hello 1"."\n"); fclose($fp); 始终将导致该文件显示到最后: Hello 1 Hello 2 Hello 3 而且没有,因为我想,插入到作秀首位以此为新评论: Hello 3

    0热度

    2回答

    我正在使用执行PHP文件的crontab。我想实现flock()命令来帮助防止重复的crontabs同时运行。如果我有: * * * * * php /var/www/html/welcome.php 我如何添加这个羊群()命令?谢谢!

    0热度

    1回答

    我想采购一个脚本(它设置变量在我的壳): source foo.sh args 但在羊群,这样只有一个实例在同一时间(它做了很多的磁盘访问我”的工作d喜欢确保序列化)。 $ source flock lockfile foo.sh args -bash: source: /usr/bin/flock: cannot execute binary file 和 $ flock lockfi