如何以最少的步骤从命令行恢复 Screen 的多个实例?

如何以最少的步骤从命令行恢复 Screen 的多个实例?

我的 Linux 服务器上运行着大约 15 个 screen 实例。它们是我需要监视的每个正在运行的进程。我必须关闭终端(这就是我启动屏幕的原因)。

有没有办法在不同的选项卡中重新打开所有 15 个 Screen 实例,而无需打开新选项卡、登录服务器、打印所有可用屏幕以恢复,然后为每个屏幕会话键入 id?

答案1

这个 python 脚本正好帮我完成了这项工作。我创建了三个屏幕会话,这会启动三个 xterm,并在每个会话中重新附加会话。它有点难看,但它有效。

#! /usr/bin/env python                                                                                                                         

import os

if __name__ == '__main__':

    tempfile = '//tmp//screenList'

    # capture allthescreenIds                                                                                                                
    os.system('screen -ls | grep Det | cut -d . -f 1 > ' + tempfile)

    f = open(tempfile, 'r')
    screenIds = f.readlines()
    f.close()

    screenIds = [x.lstrip() for x in screenIds]

    for eachId in screenIds:
        cmdLine = 'xterm -e screen -r ' + eachId.strip() + ' &'
        os.system(cmdLine)

相关内容