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