Предотвращение ожидания вывода из командной строки

#php #command-line #command

#php #командная строка #команда

Вопрос:

Я думал, что это будет выполняться без ожидания вывода:

 php /scripts/htdocs/summaries.live/app/scripts/generate-pdfs.php live 1 > /dev/null 2>amp;1
  

Но этого не происходит. Функция PHP exec() ожидает вывода. Как я могу обойти это, чтобы этого не произошло?

Комментарии:

1. Не зная, что делает ваш скрипт, мы вряд ли сможем ответить на ваш вопрос.

2. @TillHelgeHelwig Я не согласен

Ответ №1:

вы пропускаете amp; конец команды

 php /scripts/htdocs/summaries.live/app/scripts/generate-pdfs.php live 1 > /dev/null 2>amp;1 amp;
  

Комментарии:

1. Эта команда запускает PHP-скрипт /scripts/htdocs/summaries.live/app/scripts/generate-pdfs.php с аргументами «live 1» и скрывает вывод и стандартный поток ошибок.

Ответ №2:

При запуске чего-либо с exec , в документации указано

Примечание:

Если программа запускается с помощью этой функции, для того, чтобы она продолжала работать в фоновом режиме, выходные данные программы должны быть перенаправлены в файл или другой выходной поток. Невыполнение этого требования приведет к зависанию PHP до завершения выполнения программы.