php - 检查命令是否正在多用户 php 进程中运行

标签 php linux shell command-line

正在检查以下命令是否正在运行,如果为真,则第二个用户在完成之前无法执行它,它与 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");

最佳答案

$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;
}

关于php - 检查命令是否正在多用户 php 进程中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39082114/

相关文章:

c - 在这种情况下使用错误?

linux - 将密码应用于脚本

linux - 在 shell 脚本中向 AWS SNS 消息添加换行符

php - 如何防止跨站脚本

javascript - 使用 AJAX 从 WordPress 中处理 SQL

php - 他们说 HTML 中的 javascript 代码被认为是不好的做法,如何解决这个问题?

php - 如何根据两个表中的id从两个表中选择内容

linux - uWSGI 配置使用 HTTPS

c - rand() 不返回随机值

bash - 在 bash 中,是否有相当于 die "error msg"