Linux - Разработка программ для отладки - Печать потоков STDOUT из нескольких программ - PullRequest
0 голосов
/ 06 октября 2010

Допустим, у меня есть 10 программ (в терминалах), работающих в тандеме: {p1, p2, p3, ..., p10}.

Трудно отслеживать все операторы отладки STDOUT в соответствующем терминале.Я планирую создать графический интерфейс для отслеживания каждого STDOUT таким образом, чтобы, если я сделаю:

- нажатие на p1 «завершит» вывод программы 1.- Если щелкнуть по p3, то получится вывод программы 4.

Это достойный подход, но, может быть, есть идеи получше?Просто потрясающе иметь 10 терминалов;Я предпочел бы иметь 1 супер терминал, который отслеживает это.

И, к сожалению, linux "screen" не вариант.ОГРАНИЧЕНИЯ: У меня есть только возможность: перенаправить STDOUT в файл.(или читать прямо из STDOUT).

1 Ответ

1 голос
/ 06 октября 2010

Если вы ищете креативную альтернативу, я бы посоветовал вам взглянуть на сокеты.

Если каждая программа записывает данные в сокет (а не в STDOUT), тогда ваш главный терминал может действовать как сервер иорганизовать вывод.

Теперь из того, что вы описали, кажется, что вы относительно ограничены STDOUT, однако можно сделать что-то вроде этого:

# (use netcat (or nc on some systems) to write to a socket on the provided port)
./prog1 | netcat localhost 12312

I'mне уверен, соответствует ли это требованиям того, что вы делаете (и это может потребовать больше усилий, чем оно того стоит!), но это может обеспечить очень стабильное решение.

РЕДАКТИРОВАТЬ: Как было указано вкомментарии, netcat делает именно то, что вам нужно для этой работы.

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