脚本:
$S = 'pgrep -f test.php | wc -l';
$U = trim(shell_exec($S));
echo $U;
为什么此脚本的结果等于0
,有时等于1
?
文件test.php
未运行。
答案 0 :(得分:3)
问题是执行命令pgrep -f test.php | wc -l
时,它有时会在结果中显示出来(取决于时间)。您可以根据a question on Linux & Unix SE使用以下语法来防止这种情况:
pgrep -f '[t]est.php' | wc -l
带有括号的部分基本上说“找到字母 t ,后跟 est.php ”,如果文件正在运行,它将找到该文件,但不匹配当前执行的命令,因为t
之后是括号[
。