我正在为一个程序的应用程序控制器工作,该程序将文本直接吐出到/ dev / tty.
这是一个生产应用程序控制器,必须能够捕获所有发送到终端的文本.通常,这不是问题.我们只是重定向stdout和stderr.这个特殊的应用程序直接调用echo并将结果重定向到/ dev / tty(echo“some text”> / dev / tty).通过我的应用程序控制器重定向无法捕获文本.
最佳答案
我无法确定@flolo提到的屏幕程序是否能满足您的需要.它可能,但我不确定是否内置了一个日志工具,这似乎是你需要的.
可能已经有一个程序可以满足您的需求.我提名sudosh
作为一种可能性.
如果您最终需要自己编写,您可能需要使用伪tty(pty)并让您的应用程序控制器位于用户的真实终端连接和pty设备之间,它可以记录您需要的任何内容它要记录.这不是微不足道的.您可以在Rochkind的“Advanced UNIX Programming,2nd Edn”一书中找到有关此内容的信息,毫无疑问其他类似的书籍(史蒂文斯的“UNIX环境中的高级编程”一书可能是候选人,但我没有副本来验证这一点).