脚本:
$S = 'pgrep -f test.php | wc -l';
$U = trim(shell_exec($S));
echo $U;
为什么这个脚本的结果等于 0
有时是 1
?
文件 test.php
没有运行。
最佳答案
问题是在执行命令时 pgrep -f test.php | wc -l
,它有时会(取决于时间)出现在结果中。您可以根据 a question on Linux & Unix SE 防止这种情况发生使用以下语法:
pgrep -f '[t]est.php' | wc -l
括号中的部分基本上是说“找到字母t后跟est.php”,如果它正在运行,它会找到文件,但不会匹配当前执行的命令,因为 t
后跟一个方括号 [
.
关于php - 为什么结果等于 0,有时等于 1 - shell_exec('pgrep -f,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51551908/