вывод на новый терминал - PullRequest
3 голосов
/ 22 ноября 2010

Предположим, я создал поток из своего "основного" потока, который предназначен для мониторинга и печати некоторых переменных в "основном". Но «main» также генерирует некоторый вывод, поэтому я хочу напечатать вывод этих двух потоков отдельно. Как я могу перенаправить вывод нового потока на новую консоль, отличную от той, которая используется в моей программе "main"?

Ответы [ 3 ]

2 голосов
/ 22 ноября 2010

Я бы вывел информацию о мониторинге в файл, а затем использовал tail -f filename для отображения в другом терминале.

Это имеет то преимущество, что вы можете запустить grep или что-нибудь еще на выходе.

2 голосов
/ 22 ноября 2010

Я хотел бы записать данные в файл журнала, а затем использовать tail -f log_file.txt из другого окна, чтобы просмотреть его, поскольку таким образом вы сохраняете копию данных, но если вы решите, что вам нужно использовать отдельные терминалытогда вы можете просто открыть новый терминал (tty) как обычный файл.Основная проблема в том, что вы, вероятно, действительно хотите, чтобы он также открыл для вас новое окно терминала.

Открытие нового окна терминала, чтобы сделать что-то подобное, довольно сложно и отличается в разных эмуляторах терминала. Здесь - еще один вопрос об открытии новых терминалов из файла make.Вы можете попытаться сделать то же самое из вашей программы или из скрипта, который запускает вашу программу и запускает cat или tail в новом терминале, который будет вашим окном журнала.

#!/bin/sh
truncate  --size=0 ./logfile.txt
xterm "tail -f ./logfile.txt" 2>&1 > /dev/null &
your_program --log-file=./logfile.txt

Я нев настоящее время известно, как лучше это сделать.

Еще одна вещь, на которую вы можете обратить внимание, это syslog.

0 голосов
/ 22 ноября 2010

Что бы вы ожидали в таком случае (внешне)?

Если вы запускаете программу, вы подключены к консоли. Вам, конечно, не нужно записывать вывод в консоль (вы можете использовать файлы), но консоль явно не может дублироваться.

Вам не подходит другой дескриптор файла?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...