LINUX.ORG.RU

вывод ин-фы о состоянии процесса


0

0
Процесс (на Цэ) запущен в терминале и выполняет вычисления. Необходимо выводить некоторую инфу о состоянии, например, printf("%d\r", i), где i - кой-нить счетчик (пусть процесс заканчивается при i == 1000000). Но printf ничего на терминал не выводит, пока процесс не закончится. Пробовал его в thread всунуть - ничего. Как обеспесить вывод при работающем процессе ?
anonymous
Это шутка такая? Если процесс явно не отцепляется от терминала (читай не уходит в фон), то достаточно будет fflush(stdin) после того, как в stdout что-то понаписал.

Если процесс у тебя уходит в фон, то printf-ами ничего не добьёшься, ибо, ЕМНИП, stdout закрывается.

И причем тут потоки я что-то вообще не вкурил.

anonymous
()
fprintf(stderr, ...


также см

fflush()
Sylvia ★★★★★
()
Пожалуйста, подробнее и без купюр.

Насколько ты, наверное, успел заметить, тебя тут не поняли. Попробуй объяснить проблему подоходчивей.

Die-Hard ★★★★★
()
Впрочем, ныступвая в качестве телепата -- наверное, действительно, fflush(stdout); поможет, но в таком случае рекомендуется просто fprintf(stderr, ...);
Die-Hard ★★★★★
()
printf("%d\r", i) - замени \r на \n и будет тебе счастье, а вообще читай про буферизацию потоков в стандартной библиотеке.
OxiD ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.