Linux - 用于调试的程序设计 - 从多个程序打印STDOUT流

时间:2010-10-06 18:13:57

标签: linux stream

假设我有10个程序(在终端中)串联工作:{p1,p2,p3,...,p10}。

很难跟踪各自终端中的所有STDOUT调试语句。我计划创建一个GUI来跟踪每个STDOUT,如果我这样做:

- 点击p1将“尾”程序1的输出。 - 单击p3将“尾部”程序4的输出。

这是一个不错的方法,但可能会有更好的想法?拥有10个终端只是压倒性的;我宁愿有一个超级终端跟踪这个。

不幸的是,linux“屏幕”不是一个选项。限制:我只能:将STDOUT重定向到文件。 (或直接从STDOUT阅读。)

1 个答案:

答案 0 :(得分:1)

如果您正在寻找创意替代品,我建议您查看插座。

如果每个程序写入套接字(而不是STDOUT),那么您的主终端可以充当服务器并组织输出。

现在从您所描述的内容来看,似乎您对STDOUT相对受限,但是可以做到这样的事情:

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

我不确定这是否符合你正在做的事情的要求(它可能比它的价值更多的努力!),但它可以提供一个非常稳定的解决方案。

编辑:正如评论中指出的那样,netcat完全符合您的工作需要。