我有以下命令我運行一個PHP腳本:PHP exec命令因此,使用pgrep返回值不正確
exec("pgrep -fl ./build-dh", $output, $return);
p纖ep通常返回「1」,如果它沒有找到一個「./build-dh」進程運行,但是,它總是返回「0」,即使我肯定進程沒有運行。
以下是我從$輸出得到:
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?
感謝
嘗試鍵入全路徑'構建-dh' – alfasin 2012-08-03 21:51:47
應該不重要,因爲pgrep正在搜索正在運行的進程,不會啓動任何內容,也不需要路徑。 – deranjer 2012-08-03 21:57:20