Screen und Terminal Emulation

· knut's blog


was ist das ? #

screen ist ein Terminal-Multiplexer, der es dir ermöglicht, mehrere virtuelle Terminal-Sitzungen innerhalb einer einzigen SSH-Verbindung zu verwalten. Du kannst damit Programme starten, sie im Hintergrund laufen lassen und später zu ihnen zurückkehren, selbst wenn du die SSH-Verbindung unterbrochen hast.

screen's wichtigste Befehle (laut chatGPT) #

Installation: #

apt install screen

neue screen Sitzung: #

screen

Sitzung beenden (exit): #

exit

Sitzung verlassen (dettach): #

Strg+A dann Strg+D

letzte Sitzung beitreten (reattach): #

screen -r

Liste alle Sitzungen: #

screen -ls

bestimmte Sitzung anhängen (reattach): #

screen -r $sessionID

(die $sessionID findet sich in der Liste)


Terminal Magie #

Es gibt noch Terminal Magie, mit der Kernelsignale genutzt werden um Prozesse in den Hintergrund zu verschieben.

nohup und "&": #

nohup apt install blender &

nohup: Führt einen Befehl aus und ignoriert SIGHUP (Signal Hang Up), so dass der Befehl auch dann weiterläuft, wenn die Shell-Sitzung geschlossen wird. (ich merke mir nur: "no hang up")

&: Führt den Befehl im Hintergrund aus, so dass du die Shell sofort weiter verwenden kannst, ohne auf die Beendigung des Befehls zu warten.

Liste die Jobs auf: #

jobs

Zeigt die aktiven Hintergrundjobs in der aktuellen Shell-Sitzung an.

fg: #

fg %i

Bringt einen Hintergrundjob in den Vordergrund und setzt ihn fort.

nohup ohne &: #

nohup sudo apt-get install blender

Jedoch, wenn du den Befehl ohne & am Ende ausführst, wird der Prozess immer noch im Hintergrund laufen gelassen, aber die Shell wird blockiert, bis der Befehl abgeschlossen ist. Das kann manchmal unpraktisch sein, da es dich daran hindern könnte, weitere Befehle in derselben Shell-Sitzung auszuführen, bis der vorherige Befehl abgeschlossen ist. In diesem Fall wird der Befehl sudo apt-get install blender im Hintergrund laufen gelassen, aber die Shell wird blockiert, bis dieser Befehl vollständig ausgeführt ist.

Mal schauen was ich noch so finde...

Naja.