gpt4 book ai didi

php - 防止同一 php 脚本的多个实例

转载 作者:太空狗 更新时间:2023-10-29 11:48:51 26 4
gpt4 key购买 nike

我正在使用 rc.local 在 ubuntu 16.04 virtua 机器启动上执行以下 bash 脚本。

#!/bin/bash
# Loop forever (until break is issued)
(while true; do

sudo php /var/www/has/index.php external communication

done ) &

如您所见,bash 连续执行一个 php 脚本。随着时间的推移,脚本可能需要更长的时间来执行。有时,即使同一脚本的另一个实例正在运行,上面的脚本也会继续启动。所以,我想知道如果存在现有实例,如何防止执行 php 脚本的新实例?

最佳答案

您可以使用文件锁定来获取独占锁。如果存在锁,则可以结束脚本或等待锁释放。

我建议您继续阅读 http://php.net/manual/en/function.flock.php

$fp = fopen("/tmp/lock.txt", "r+");

if (flock($fp, LOCK_EX)) { // acquire an exclusive lock
// Execute logic
} else {
echo "Couldn't get the lock!";
}

关于php - 防止同一 php 脚本的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51363684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com