Verwalten Sie mehrere Terminals mit Screen

LinuxBeginner
Jetzt üben

Einführung

Der Befehl screen ist äußerst nützlich, um mehrere Skripte gleichzeitig im Hintergrund auszuführen. Dadurch können Sie langlaufende Aufgaben starten, ohne für jede Aufgabe ein Terminal geöffnet zu halten. Im Folgenden erfahren Sie, wie Sie screen verwenden, um Skripte im Hintergrund auszuführen und diese Sitzungen zu verwalten.

Beispiel für die Verwendung des screen-Befehls

Ausführen von Skripten im Hintergrund

Sie haben drei Skripte, die verschiedene Aufgaben in ~/project ausführen.

Öffnen Sie das Terminal ( ① oder ② in der Abbildung ) in der Umgebung und geben Sie den folgenden Befehl ein:

ls ~/project
Terminal listet Projekt-Dateien auf

Wenn Sie diese 3 Skripte gleichzeitig ausführen möchten, können Sie es wie folgt tun:

Drei Skripte laufen gleichzeitig

Nun verwenden wir screen, um diese Skripte in getrennten Sitzungen gleichzeitig auszuführen.

Um diese Skripte im Hintergrund mit screen auszuführen, verwenden wir die Option -dmS:

  • -d startet eine Sitzung und trennt sich sofort von ihr.
  • -m zwingt screen, eine neue Sitzung zu erstellen.
  • -S ermöglicht es uns, die Sitzung mit einem Namen zu versehen, um sie leicht referenzieren zu können.

Starten der Skripte

Öffnen Sie ein Terminal und navigieren Sie zum Verzeichnis, das Ihre Skripte enthält. Starten Sie dann jedes Skript in einer separaten screen-Sitzung mit den folgenden Befehlen:

screen -dmS task1./script1.sh
screen -dmS task2./script2.sh
screen -dmS task3./script3.sh

Verwalten von Sitzungen

Nachdem Sie die Skripte gestartet haben, können Sie diese screen-Sitzungen mit verschiedenen Befehlen verwalten.

Auflisten aller Sitzungen

screen -ls
Ausgabe der Liste der screen-Sitzungen

Dieser Befehl zeigt alle laufenden screen-Sitzungen an.

Wiederherstellen einer Sitzung

screen -r session_name

Wenn Sie die Ausgabe überprüfen oder mit einem bestimmten Skript interagieren möchten, verwenden Sie diesen Befehl, um wieder mit seiner Sitzung verbunden zu werden. Ersetzen Sie session_name durch den Namen, den Sie beim Starten des Skripts zugewiesen haben (z.B. task1, task2 oder task3).

Trennen von einer Sitzung

Sobald Sie mit der Überprüfung einer Sitzung fertig sind, können Sie sich von ihr trennen und lassen, dass sie im Hintergrund weiterläuft, indem Sie Strg-a und dann d drücken.

Beenden einer Sitzung

Um eine Sitzung zu beenden, stellen Sie die Verbindung mit screen -r session_name wieder her und geben Sie dann exit ein oder drücken Sie Strg-d.

✨ Lösung prüfen und üben

Zusammenfassung

Die Verwendung von screen zur Verwaltung mehrerer Hintergrundaufgaben kann Ihren Arbeitsablauf erheblich vereinfachen, insbesondere wenn es um langlaufende oder Hintergrundprozesse geht. Indem Sie Skripte in getrennten screen-Sitzungen ausführen, halten Sie Ihren Arbeitsbereich sauber und stellen sicher, dass Ihre Prozesse auch dann ununterbrochen laufen, wenn Sie sich vom Server trennen oder Ihr Terminal schließen.

Experimentieren Sie mit screen, um zu entdecken, wie es am besten in Ihren Arbeitsablauf passt und Ihre Produktivität steigert!