Довольно необычно порождать другой терминал, как вы, кажется, делаете. Более чистым подходом было бы использовать файл (или именованный канал) для получения вывода из вашей программы чата, затем запустить tail -f
(или другую программу для правильного форматирования вывода) на другом терминале для отображения его содержимого. Первая клемма будет использоваться для ввода (возможно, с stdin
), а вторая клемма будет получать вывод tail
.
Пример использования командной строки:
Запустите клиент чата, отправив любой вывод в файл с именем «output»:
$ ./client [parameters] > output
В другом терминале отобразите вывод, прочитав этот файл:
$ tail -f output
Помните, что ваша программа чата должна иметь возможность обрабатывать два разных источника ввода одновременно (входящие сообщения как с сервера, так и от пользователя), возможно, используя select()
.