PHP exec () nohup с редиректом

Я пытаюсь выполнить команду с exec () и перенаправить stdout и stderr в файл.

exec("nohup python main.py -i 1 > /var/scripts/logs/1_out.log 2>&1 &");

Он создаст файл, но ничего не распечатает.

Если я запускаю команду в терминале, все выводится без проблем.

0

Решение

Получил это работает. Python делает свою собственную буферизацию вывода, которая препятствовала его записи в файл. Запуск с опцией -u отключает это. Конечный код выглядит так:

exec("nohup python -u main.py -i 1 > /var/scripts/logs/1_out.log 2>&1 </dev/null &");

Благодарю.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]