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

我有一个screen的问题。 基本上我希望每个屏幕screenlog.1一个日志,比如屏幕#1将会是screenlog.1 ,屏幕#2将会是screenlog.2 – 你会得到备忘录。

无论如何,会发生什么,当我启动屏幕使用:

 screen -SL screen1 

-L参数是因为我需要强制它做日志)它只logging第一个屏幕,而不是其他2-5屏幕。 我已经尝试使用带有logfile参数的.screenrc文件,它的工作原理 – 但只是改变了screenlog.0的名称,这不是我想要的。

任何想法,我会怎么去呢?

其他信息:CentOS 6.3(64bit)。 屏幕版本4.00.03(FAU)23-Oct-06。

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

我本地testing了有和没有屏幕名称,并收到了预期的screenlog.0和.1和.2等。每个日志对应于每个窗口的内容。 写入磁盘之前有一个缓冲区

参考刷新秒: http : //www.gnu.org/software/screen/manual/screen.html#Logging

以下是如何在单独的日志文件中logging多个屏幕会话的输出:

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

这可能看起来像很多工作,但一旦你开始使用它,它变得非常方便!

除了splaer所说的 (这可能是这里发生的事情)之外,如果screen给你带来麻烦,你可能想用脚本来logging你的会话。

screen -L的便利是很好的,但如果它给你带来麻烦的script是一个方便的解决方法(如果你发现自己在一台没有 screen的机器screen – 他们仍然存在 – 可能script仍然会在那里)。