Bash 如何在';s位于c++;节目?

Bash 如何在';s位于c++;节目?,bash,flock,Bash,Flock,我有一个PHP网页,在configuration.txt中写入一些值。在这些值之间有一个URL 接下来,我有一个简单的bash脚本,它从configuration.txt读取URL,并每隔2秒将响应主体放入另一个URL\u response.txt文件中: while [ 0 ] do line=$(head -n 1 ../configuration.txt) wget -q -i $line -O url_response.txt sleep 2 done 这就是我

我有一个PHP网页,在
configuration.txt
中写入一些值。在这些值之间有一个URL

接下来,我有一个简单的bash脚本,它从
configuration.txt
读取URL,并每隔2秒将响应主体放入另一个
URL\u response.txt
文件中:

while [ 0 ]
do
    line=$(head -n 1 ../configuration.txt)
    wget -q -i $line -O url_response.txt
    sleep 2
done
这就是我如何在PHP中实现
flock()

$currentSettingsFile = fopen($configFilePath, "w");
if(flock($currentSettingsFile, LOCK_SH)) {
    // echo "<br>Writing in $configFilePath<br>";
    foreach ($arrayInputs as $key2 => $value2) {
        if($value2 != '')
            fwrite($currentSettingsFile,$value2.PHP_EOL);
    }    
    flock($currentSettingsFile, LOCK_UN);
    fclose($currentSettingsFile);
}
我知道我上面写的是不正确的

另外,如果脚本进入C++程序,脚本是否需要添加更多的行?< /P>


S:我还没有学会如何在一个C++程序中集成一个BASH脚本,但我一次只需要一步。我会在这里读到:

你想做什么?你为什么需要羊群<代码>我真正想要的-你真正想要什么
flock(“url.txt”,1)
-这是无效的,
flock()
接受打开的文件描述符和
LOCK\u SH
LOCK\u EX
LOCK\u UN
参数,而不是文件名和
1
@KamilCuk我编辑了这个问题。我知道C++中的<代码> FROCK()/<代码>:<代码> Extn int fFILD(int -yfd,int x操作)代码>同时,在C++中,我们有<代码>定义了锁1 /*共享锁。*/<代码>。因此,如果需要,可以使用1而不是
LOCK\u SH
。我所写的只是表达我想做的。不要阅读系统标题。使用时,它们是函数的文档<代码> C++中,我们有<代码> >你不应该关心什么是<代码>是的,随它去吧。执行群集(fd,锁定)。好的,您有一些php脚本可以做一些事情。它与bash程序有什么关系?它是如何与C++程序相关的?这和flock有什么关系?为什么在php程序中使用flock?是否要同步某些内容?阻止什么?@KamilCuk我已经写了一篇关于谁在上一次编辑中做了什么的解释。。。在这里也可以找到:
while(true)
{
  if (flock("url.txt",1) && flock("url_response.txt", 1))
  {
    wget -q -i url.txt -O url_response.txt
    flock("url.txt",8) // unlock
    flock("url_response.txt", 8) // unlock
    sleep 2
  }
}