0
正在检查下面的命令是否正在运行,因此如果第二个用户不能执行它,直到它完成,它将与2个用户一起工作,但如果有3个用户执行它,第一个执行完毕,第二个和第三个用户同时执行它,所以执行“ps axf”后,我找到了2个用户的2个命令,解决方案是什么?检查一个命令是否正在多用户进程中运行php
do {
$ps = shell_exec("ps axf");
$res = preg_match("#/usr/bin/php /var/www/html/checker/checker.php $time#",$ps);
usleep(100000);
} while ($res);
$res = shell_exec("/usr/bin/php /var/www/html/checker/checker.php $time");
这是非常不可靠。有** NO **保证,一个用户不能在执行'ps'检查和'exec'脚本之间的时间间隔内将脚本启动到另一个用户的后面。使用锁定文件。这就是他们所设计的。 http://php.net/flock –
@MarcB感谢兄弟的工作:D – Devilion