Когда я вручную запускаю эту команду через SSH:
xx@xxx.com [~/public_html/xxx]# ls > ls2.out 2>&1 & [1] 15205
Что просто возвращает PID фонового процесса, который в этом случае равен 15205. Однако когда я пытался сделать то же самое с помощью PHP-кода:
$run = "ls > ls2.out 2>&1 &"; $return = exec($run, $output, $return_var); echo '=====', PHP_EOL; echo var_dump($run); echo var_dump($return); echo print_r($output); echo print_r($return_var); echo '=====', PHP_EOL;
Он не возвращает PID, а просто пустую строку:
===== string(19) "ls > ls2.out 2>&1 &" string(0) "" Array ( ) 101=====
Зачем?
Как я могу получить PID фонового процесса через PHP exec ()?