我能以某种方式使用UNIX系统调用来读取控制台缓冲区吗?

时间:2016-02-17 06:32:48

标签: unix terminal console buffer tty

我想创建一个智能调试工具,读取已经打印到tty的stderr(比如1000行)。

是否有任何类型的UNIX API调用允许我这样做?我找不到一个。

1 个答案:

答案 0 :(得分:0)

不,没有" UNIX API"打电话哪个会这样做。一些特殊情况可能有用:

  • 大多数终端仿真程序都提供了一个 scrollback 区域,您可以查看该区域。这个行的数量通常是可配置的;默认大小通常很小,例如100行。
  • 某些控制台终端(例如Linux)在键盘和控制台HOW-TO中具有类似的功能(例如参见 18. Scrolling )。

可以告诉少数终端实现提供屏幕转储。通常,这些仅限于当前可见的屏幕:

通常,也没有转义序列可以执行此操作,因为该方法(允许"任何"程序查看屏幕内容)通常被视为安全违规。