У меня есть программа PHP, которая запускает процесс в фоновом режиме с помощью exec() (вывод процесса отправляется в/dev/null). Затем я использую exec("echo $!", $processes[0])
, потому что я хочу сохранить идентификатор процесса, чтобы впоследствии его завершить. Однако результат $processes[0]
представляет собой пустой массив.PHP exec() не сохраняется Идентификатор процесса
Почему идентификатор процесса не сохраняется? Обратите внимание, что идентификатор процесса выводится правильно, если я выполняю фоновый процесс, а затем запускаю echo $!
с терминала. Еще одно замечание: я использую Raspberry Pi, который основан на Linux.
Второй 'exec()' запускает новый процесс оболочки, который не знает предыдущих «$!». – mario