php-фоновый процесс с использованием функции exec

Я много искал, чтобы найти точный ответ, но не нашел.

многие люди упомянули, что мы должны и в конце команды не ждать ответа.
например, для запуска bg.php в фоновом режиме, это было рекомендовано:

exec("/usr/bin/php bg.php &"); 

но это не работает для меня. и главный скрипт ждет полного выполнения bg.php .

Я также где-то читал запись вывода bg.php в файле журнала, но мой фоновый скрипт не выводит никакого вывода. Он выполняет некоторый процесс, а затем записывает что-то в базу данных.

Я просто хочу, чтобы мой скрипт запускал bg.php и не дождался его окончания.

пожалуйста, помогите мне, включая правильный код.

Вы также должны перенаправить выходные программы, обычно / dev / null

 exec($cmd . " > /dev/null &"); 

Вы рассматривали использование экрана? Вы можете запустить сеанс экрана, который выполняется в отдельном процессе.

 screen -d -m -S my_bg_session /usr/bin/php bg.php 

Затем вы можете подключиться к нему позже, если он все еще запущен:

 screen -r my_bg_session