Linux - 在多个屏幕上显示屏幕日志?

Linux - 在多个屏幕上显示屏幕日志?

我有个问题screen。基本上,我希望它为每个屏幕生成一个日志,例如屏幕 #1 将是screenlog.1& 屏幕 #2 将是screenlog.2- 您收到了备忘录。

无论如何,当我使用以下命令启动屏幕时,会发生什么:

screen -SL screen1

-L参数是因为我需要强制它生成日志)它只记录第一个屏幕,而不是其余 2-5 个屏幕。我尝试使用.screenrc带有logfile参数的文件,它可以工作 - 但只是更改了 的名称screenlog.0,这不是我真正想要的。

你知道我该如何处理这个问题吗?

附加信息:CentOS 6.3 (64位)。屏幕版本 4.00.03 (FAU) 2006 年 10 月 23 日。

答案1

您可以将多个屏幕会话的输出记录到单独的日志文件中,如下所示:

  1. 使用以下方式启动 screen 会话screen -S <preferred-name-of-session>
  2. 使用 & 连接屏幕,然后使用以下命令设置屏幕的日志文件: Ctrl + a :logfile <name-of-log-file>
  3. 通过运行开始屏幕记录Ctrl + a H
  4. 执行所需程序然后分离屏幕

每次这看起来似乎很繁琐,但是一旦开始使用它,它就会变得非常方便!

答案2

您可能正在经历日志输出缓冲。

我在本地测试了带和不带屏幕名称的情况,并收到了预期的 screenlog.0、.1 和 .2 等。每个日志都对应每个窗口的内容。在写入磁盘之前有一个缓冲区

参考冲洗秒数: http://www.gnu.org/software/screen/manual/screen.html#Logging

答案3

此外splaer 说过的话(这可能就是这里发生的事情),你可能需要使用script记录您的会话,如果screen给您带来麻烦。

方便screen -L是好事,但如果它给你带来麻烦,script这是一个方便的解决方法(如果你发现自己在机器上没有 screen——遗憾的是它们仍然存在——很可能script还会在那里。

相关内容