Linux Screen Debian

2009-11-24 - kostaki 1 Kommentar »
morguefile by doctor_bob

morguefile by doctor_bob

Mit Screen kann man Konsolen im Hintergrund laufen lassen. Wenn man die Verbindung zur Screen Konsole verliert, (ob nun beabsichtigt oder versehentlich) kann man sich wieder mit ihr verbinden. Das geht auch per SSH und auch von einem anderen Host aus. Die Programme die von der Screenkonsole aus gestartet wurden laufen dabei weiter. Deshalb bietet sich Screen für lang laufende Konsolen Programme an. Will man z.B. einen große Menge an Dateien kopieren, kann man das Script auf einer Screen Konsole starten und sich dann von dem Rechner abmelden. Das Script läuft dann im Hintergrund weiter und man kann sich später wieder dazu schalten.

Ein anderer Verwendungszweck ist wenn man ein Script per SSH laufen hat und den Rechner wechseln möchte. Schließt man die SSH Verbindung wird das Script beendet. Bei mir ist dies meist der Wechsel von meinem Arbeitsrechner nach Hause. Manche Scripte bieten auch keinen Demonmodus an und setzen für den Betrieb eine Konsole voraus. Diese kann man bequem per Screen laufen lassen. So kann man auch sehr einfach PHP Bots schreiben die über die PHP-CLI laufen. Bei Scripten bei denen eine kontrollierte Ausführung wichtig ist, lohnt es sich auch diese über Screen laufen zu lassen, da ein plötzlicher Abbruch der Internetleitung abgefangen werden kann. Es gibt natürlich noch sehr viel mehr Einsatzmöglichkeiten von Screen und wenn man weiß was es kann und wie es funktioniert wird man nicht mehr darauf verzichten wollen.

Kurz gesagt: Wenn es absehbar ist das ein Script länger laufen wird oder das es wichtig ist das es komplett durchläuft, sollte man dieses von einer Screen Konsole aus starten. Die Installation bei Debian Lenny ist wie immer sehr einfach.

$ apt-get install screen

Starten kann man eine neue Konsole dann mit:

$ screen

und wenn man sie beenden will macht man das ganz normal mit exit. Will man sie in den Hintergrund legen, geht dies mit STRG + A, D und das wieder aufnehmen von im Hintergrund liegenden Konsolen geht mit screen -r. Hier eine kurze Zusammenfassung von Befehlen im Zusammenhang mit Screen.

Befehl Beschreibung
screen Startet eine Screenkonsole
screen -S Titel Startet eine Screenkonsole mit dem Namen Titel
screen ping heise.de Startet den Befehl ping auf einer neuen Screenkonsole
screen -r Nimmt eine im Hintergrund liegende Screenkonsole wieder auf. Wenn es mehrere Screenkonsolen gibt, werden diese aufgelistet.
screen -r PID Setzt eine Screenkonsole fort mit der angegebenen PID.
screen -r -S Titel Setzt eine Screenkonsole fort mit dem Namen Titel
screen -d -m ping heise.de Startet den Befehl und legt die Konsole sofort in den Hintergrund
screen -ls Listet die Namen aller Screnkonsolen auf
STRG + A, D Legt die Console in den Hintergrund

Ähnliche Artikel

  1. Ein Kommentar

  2. Andy
    schrieb am 12.08.2010 um 14:38 Uhr

    Cool echt gut gemacht hier, toller Bericht, danke dafür, habe sowas nämlich gebraucht.

Kommentar schreiben

*

*