我似乎找不到任何相关信息,所以,有没有办法将所有内容从屏幕窗口传输到另一个命令中。我有一个在屏幕上运行的服务器(这不是最好的主意,但目前这是服务器的唯一方法),并且想要解析输出(在运行时,是否可以将打印到该分离屏幕上的所有内容放入另一个命令中?
谢谢,马克斯
答案1
如果您需要记录正在运行的屏幕会话的输出,请执行以下操作:
附加到会话。
按下您的Prefix键(Ctrl+A在未改变的设置上),然后:输入
logfile <filename>
。再次Prefix :输入
logfile flush <interval in seconds>
。Prefix :, 进入
log on
。
screen
<filename>
现在将每秒将所有输出记录到文件<interval>
。您可以使用tail -f
该文件来处理输出。
您可以跳过步骤 2 至 4,只需按Prefix,然后H。默认值为 ,screenlog.n
并且<filename>
为 10 秒<interval>
。
请注意,如果您需要处理大量输出,则文件可能会变得非常大。
答案2
也许是这样的:
$ screen -d -m sh -c "/path/to/my/exec | tee output.log"