Моя программа распечатывает . (без перевода строки) каждые 100 мс для индикации прогресса. Однако, когда я запускаю его на удаленной машине через ssh, я не вижу вывод, пока не будет напечатана новая строка. Я попробовал это на Cygwin и на Ubuntu.

Есть ли способ сделать вывод ssh до завершения строки?

1 ответ1

2

Проблема обычно заключается в буферизации вывода вашей программой или, точнее, библиотекой ввода-вывода или средой выполнения, которую использует ваша программа. Конкретно буферизация строк.

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

Языки программирования часто имеют способ указания небуферизованного вывода. Так как обычно это зависит от того, к чему подключен STDOUT, это также зависит от настроек среды ОС.

Смотрите также stdbuf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .