PHP exec с nohup

В настоящее время я использую nohup для запуска длинного php-скрипта и перенаправления результатов в файл с помощью этой команды.

nohup php long_file.php >logs 2>&1 &

так что я просто иду и постоянно посещаю logs файл, чтобы увидеть результаты

Теперь я хочу сделать то же самое, используя другой файл php для выполнения вышеуказанной команды
я попробовал указанную выше команду с php exec и вывод перенаправления, похоже, не работает,

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

аналогичный вопрос: Shell_exec php с nohup, но на него не было ответа

любое решение?


person Osa    schedule 17.04.2013    source источник


Ответы (3)


Пожалуйста, попробуйте с -q

nohup php -q long_file.php >logs 2>&1 &

http://ubuntuforums.org/showthread.php?t=977332

person nerkn    schedule 10.02.2015

Вы пробовали passthru вместо exec?

person hudolejev    schedule 17.04.2013

Вы перенаправляете STDOUT в файл, используя >

Это будет усекать файл каждый раз при запуске скрипта. Если два скрипта одновременно перенаправляют свой вывод в один и тот же файл, тот, который был запущен последним, обрежет вывод первого скрипта.

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

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

person Bas Peters    schedule 17.06.2015