我有一个 php 脚本,我正在运行以下命令:
exec("pgrep -fl ./build-dh", $output, $return);
如果 pgrep 没有找到正在运行的“./build-dh”进程,它通常会返回“1”,但是,即使我确定进程没有运行,它也总是返回“0”。
这是我从 $output 得到的:
Array ( [0] => 28560 sh -c pgrep -fl ./build-dh )
这意味着它正在输出自己的 pid,我猜无论如何都会强制返回“0”代码。当我在 shell 中运行以下命令时,它工作正常:
$pgrep -fl ./build-dh
$echo $?
1
所以返回值工作正常......当我运行它时:
$pgrep -f nginx
11192
11193
11194
11195
11196
$echo $?
0
我怎样才能让它在 PHP 中正常工作?
谢谢