【问题标题】:Can I read the console buffer using UNIX system calls somehow?我可以以某种方式使用 UNIX 系统调用读取控制台缓冲区吗?
【发布时间】:2016-05-28 17:33:27
【问题描述】:

我想创建一个智能调试实用程序来读取已打印到 tty 的 stderr(例如,返回 1000 行)。

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

【问题讨论】:

    标签: unix terminal console buffer tty


    【解决方案1】:

    不,没有“UNIX API”调用可以做到这一点。一些特殊情况可能有用:

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

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

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

    【讨论】:

      猜你喜欢
      • 2021-07-06
      • 2017-11-26
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 2013-06-26
      • 2017-04-18
      • 2015-07-05
      • 1970-01-01
      相关资源
      最近更新 更多