捕获直接重定向到/ dev/tty

dan*_*iel 5 linux terminal tty

我正在为一个程序的应用程序控制器工作,该程序将文本直接吐出到/ dev/tty.

这是一个生产应用程序控制器,必须能够捕获所有发送到终端的文本.通常,这不是问题.我们只是重定向stdout和stderr.这个特殊的应用程序直接调用echo并将结果重定向到/ dev/tty(echo "some text" > /dev/tty).通过我的应用程序控制器重定向无法捕获文本.

我确实有这个应用程序的源代码,但我无法修改它,也不再维护它.关于如何捕获和/或丢弃输出的任何想法?

Jon*_*ler 2

我不能完全确定是否screen@flolo 提到的程序是否能满足您的需要。可能会,但我不确定是否有内置的日志记录工具,这似乎正是您所需要的。

可能已经有一个程序可以满足您的需要。我会提名sudosh为一个可能性。

如果您最终需要编写自己的,您可能需要使用伪 tty (pty) 并将应用程序控制器置于用户的真实终端连接和 pty 设备之间,在那里它可以记录您需要的任何内容它要记录。这不是小事。您可以在 Rochkind 的“高级 UNIX 编程,第二版”一书中找到有关此内容的信息,毫无疑问,还有其他类似的书籍(Stevens 的“UNIX 环境中的高级编程”一书可能是候选书,但我没有副本验证一下)。