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 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.