29/11/2019
Screen – Terminal Sitzungen mit Screen steuern
Wer kennt das nicht? – Eben noch schnell ein Shellscript ausführen was ein Backup anstößt und dann feststellen, dass man nicht wirklich die Zeit hat die zwei Stunden zu warten, bis das Script abgearbeitet ist. Ein nützlicher Helfer ist hierbei das kleine Tool „Screen“.
Mit Screen kann man Aufgaben auf der Konsole wie gewohnt, jedoch aber in einer Screen Session starten und im Hintergrund, auch bei beendeter Terminal Sitzung wieder aufrufen. Benötigt wird dafür das Paket „screen“, was in nahezu allen Linux Distributionen verfügbar ist. Im folgenden Beispiel nutze ich CentOS 7 und Screen in der Version 4.01.00 devel (GNU).
Screen startet man dann unspektakulär mit dem Kommando „screen“.
1 |
root@centos7:/ screen |
Ein Ausstieg (nicht Beendigung) der „Screen Sitzung“ ist jederzeit mit folgender Tastenkombination möglich:
1 |
Ctrl+a d |
Um sich in einer laufenden Screen Sitzung die bestehenden Sessions anzusehen nutzt man das Kommando screen -ls
1 2 3 4 |
root@centos7:/ # screen -ls There are screens on: 17906.pts-0.centos7 (Detached) |
An dieser Stelle sieht man dann auch, welche Jobs „attached“ oder eben „detached“ sind.
Um eine „detached“ Session wieder in den Vordergrund zu holen kann man nach Auflistung aller Sessions gezielt den mit der gewünschten ID ansprechen.
1 |
root@centos7:/ # screen -r 17906 |
Ist der Job in der aufgerufenen Session bereits beendet erhält man eine Ausgabe wie nachfolgend:
1 2 3 4 |
-rwx------ 1 root root 118 31. Mai 12:15 rsync.sh root@centos7:/shell # ./rsync.sh root@centos7:/shell # |
Will man eine Screen Session beenden kann man dies mit dem folgenden Kommando tun.
1 |
screen -X -S [SESSION ID] kill |
Das sollten im Grunde die wichtigsten Kommandos sein. Wer tiefer einsteigen will ist mit den Manpages gut beraten.
Auch auf LinuxWiki.org wird einiges mehr zu dem Thema beschrieben.
Du willst diese Seite unterstützen?
Wenn dir der Beitrag geholfen hat, würde ich mich über ein kleines Dankeschön freuen.
Schreibe einen Kommentar