Привязать приложение к нескольким терминалам Linux - PullRequest
1 голос
/ 11 июня 2009

У меня есть приложение, которое порождает несколько процессов. Можно ли перенаправить вывод дочерних элементов на другой скрытый терминал, чтобы он не смешивался с родительским выводом и давал возможность конечному пользователю при необходимости отобразить терминал?

Спасибо.

Ответы [ 3 ]

1 голос
/ 11 июня 2009

Быстрый и грязный способ сделать это - перенаправить вывод дочернего процесса во (временный) файл.

Терминал, отслеживающий этот файл, может быть запущен с помощью команды, подобной

xterm -e tail -f /tmp/child1.out

Этот терминал может быть закрыт и открыт при необходимости.

Если вы не хотите хранить выходные данные в файле, вы можете использовать fifo (см. mkfifo(1)), но тогда вы потеряете возможность видеть прошлые выходные данные, поскольку fifo не хранит данные.

0 голосов
/ 11 июня 2009

Экран может сделать это. Вы можете запустить отдельный экран с новой программой.

Что-то вроде:

screen -d -m -S my-emacs-session emacs foo.c
0 голосов
/ 11 июня 2009

с вашего терминала, запустите:

touch proc1.log
xterm -e tail -f proc1.log
topuch proc2.log
xterm -e tail -f proc2.log
/run/proc/1.sh >> proc1.log
/run/proc/2.sh >> proc2.log

теперь у вас есть 2 терминала после вывода порожденных процессов

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