Command-Line

如何以最少的步驟從命令行恢復多個 Screen 實例?

  • July 12, 2011

我的 linux 伺服器上執行了大約 15 個螢幕實例。它們是我需要監控的每個正在執行的程序。我不得不關閉終端(因此我啟動螢幕的原因)。

有沒有辦法在不同的選項卡中重新打開所有 15 個 Screen 實例,而無需打開新選項卡、登錄到伺服器、列印所有可用的螢幕以恢復,然後為每個螢幕會話輸入 id?

這個 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)

引用自:https://unix.stackexchange.com/questions/16501