检查一个命令是否正在运行多用户php

时间:2016-08-22 14:27:28

标签: php linux shell command-line

正在检查以下命令是否正在运行中,所以如果为true,则第二个用户在完成之前无法执行它,它与2个用户一起工作但如果3个用户执行它,则第一个用户将执行并在其之后执行完成后,第二个和第三个用户同时执行它,所以执行“ps axf”后我找到2个用户的2个命令,解决方案是什么?

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");

1 个答案:

答案 0 :(得分:0)

$psCommand = "ps -eo pid,lstart,etime,args | grep 'filepath' | grep 'user' | grep -v /bin/sh | grep -v grep";

$command = exec($psCommand, $output);

foreach ($output as $arrayValue) {
   echo $output;
}