чтение stdout через subprocess.PIPE происходит по блокам. Фишка в том, что мне нужно отслеживать вывод в реальном времени. Есть ли какой-то способ юзать stdout.readline() без буферизации, или же каким-то образом уменьшить размер блока? Заранее спасибо.
Свой пайп создавай с нужным уровнем буфферизации. Не знаю можно ли изменить этот уровень у существующего пайпа
Так, он работает не блоками блоками. Процесс может читать сразу, если что-то в пайп положили. А вот если попытаться положить что-то в заполненный пайп, то поток остановится, пока пайп не освободится
Я кстати таки решил эту фигню, завтра напишу если кому интересно.
Обсуждают сегодня