Intereting Posts
Как отобразить пользовательский атрибут в корзине (Magento) Где я могу найти файлы журнала ошибок? Перезаписать родительские функции в child function.php WordPress PHP __PHP_Incomplete_Class Объект с моими данными $ _SESSION Как использовать getenv () в php и SetEnv в .htaccess с скомпилированным php-cgi на общем хосте Почему я получаю Неустранимая ошибка: исключить исключение «GuzzleHttp \ Exception \ RequestException» с сообщением «ошибка cURL 60 PHP: преобразование строк Unicode в строки ANSI преобразование строки, содержащей ключи и значения в массив Запуск выбора в списке значений, разделенных запятыми, в PHP Получить или переназначить сеанс пользователя из ip и user-agent Дата истечения срока действия PHP CakePHP – запрос возвращает пустое поле, если в нем есть специальный символ Таблицы Fusion вставляют строку с базовым примером PHP Java / Android HttpURLConnection setChunkedStreamingMode не работает со всеми серверами PHP PHP Depend и @ package-annotations

PHP Exec: без ожидания, без отбрасывания вывода, без nohup

Мне нужно запустить команду в PHP следующим образом:

exec('dosomething > saveit.txt'); 

Кроме того, я не хочу, чтобы PHP дождался завершения. Я также не хочу выбрасывать вывод, и я не хочу использовать nohup, потому что я использую это для чего-то еще в том же каталоге.

Я также попробовал pclose(popen('dosomething > saveit.txt','r')); и это не сработало, оно все еще ждало.

Добавьте амперсанд в конец команды, так что:

 exec('dosomething > saveit.txt &'); 

в документации exec() есть интересный комментарий, в котором говорится:

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

  <?php passthru("/usr/bin/php /path/to/script.php ".$argv_parameter." >> /path/to/log_file.log 2>&1 &"); ?>