Screen-Session wieder aufnehmen

Wenn man unter Linux eine Session mittels screen gestartet hat und diese später wieder aufrufen möchte, so nutzt man den Befehl:

screen -r

Unter bestimmten Bedingungen kann es vorkommen, das die Sitzung noch gebunden ist. Auf der Konsole würde das dann wie folgt aussehen:

# screen -r

There is a screen on:
	29711.ubuntu-release-upgrade-screen-window	(05/05/2016 04:09:56 PM)	(Attached)
There is no screen to be resumed matching 29711.ubuntu-release-upgrade-screen-window.

Vorkommen kann so etwas z.B. wenn man die SSH-Verbindung während einer Screen-Sitzung verliert. Damit man diese Screen-Sitzung wieder aufnehmen kann, muss die bestehende Bindung zuerst wieder gelöst werden. Dazu gibt es das Kommando:

screen -d

welches die Bindung löst. Bei mehreren offenen Sitzungen muss zusätzlich die ID der Sitzung angegeben werden. Anschließend kann die Sitzung wieder mittels:

screen -r

aufgenommen werden.

6 Kommentare » Schreibe einen Kommentar

  1. Ich bin von screen auf tmux umgestiegen. Ich persönlich will nie wieder zurück. Die Server Client Lösung ist viel sauberer. Ein tmux client stirbt einfach wenn die SSH session stirbt. Man kann mehrere Server haben und sich einzelne tabs von verschiedenen Servern in seinen client holen ;). Ich habe früher minecraft Server in einem screen betrieben und ich vermute durch das viele ausgeben auf stdout ist die screen, in Wochen Abständen, abgestürzt.

    • Dem kann ich mich nur anschließen. Screen ist was für (alte) UNIX-Systeme, auf denen es nichts anderes gibt. Ansonsten ist tmux unter Linux heute state-of-the-art ;-)
      Ich habe inzwischen für viele Umgebungen tmux-Scripte, die sich auf alle relevanten Systeme einer Umgebung bzw. eines Kunden (z. B. Web-, App- und DB-Server) verbinden – falls die Sessions auf dem Client mal weg sind. Sehr praktisch!

      • Jap, hab mir auch ein python init script geschrieben für meinen minecraft server. Man kann damit: start, stop, status, attach commandos ausführen. Da ein minecraft server nur sauber beendet werden kann wenn man „stop“ eingibt, macht mein init script genau das wenn es stop erhält. :)

    • From man page:

      -x
      Attach to a not detached screen session. (Multi display mode). Screen refuses to attach from within itself. But when cascading multiple screens, loops are not detected; take care.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.