So verwenden Sie den Linux-Bildschirmbefehl, um Ihre Remote-Prozesse am Laufen zu halten

Wie oft haben Sie sicher in Ihre Linux-Server im Rechenzentrum geschält, nur um (aus welchem ​​Grund auch immer) Ihre Remote-Shell-Verbindung zu trennen? Wird dieser wichtige Befehl, den Sie ausgegeben haben, noch ausgeführt, wenn Sie die Verbindung zu diesem Server wiederherstellen? Oder hat die unterbrochene Verbindung den Kibosh auf den Befehl gesetzt? Dies kann nicht nur unglaublich verwirrend sein, sondern auch dazu führen, dass Sie wertvolle Arbeit und Zeit verlieren.

Glücklicherweise gibt es einen Weg, dies zu umgehen: Der Bildschirmbefehl. Mit screen können Sie die Verbindung zu diesem Server wiederherstellen und dort weitermachen, wo Sie mit Ihrem letzten Befehl aufgehört haben. Ich möchte Ihnen zeigen, wie Sie dieses Linux-Admin-Tool verwenden können. Ich werde auf Ubuntu Server 16.04 demonstrieren, aber der Bildschirm ist für fast alle Linux-Distributionen verfügbar.

Was ist Bildschirm? Einfach ausgedrückt ist screen ein Vollbild-Fenstermanager, der ein physisches Terminal zwischen mehreren Prozessen multiplext. Wenn Sie den Bildschirmbefehl aufrufen, wird ein einzelnes Fenster erstellt, in dem Sie wie gewohnt arbeiten können. Sie können so viele Bildschirme öffnen, wie Sie benötigen, zwischen ihnen wechseln, sie trennen, auflisten und erneut eine Verbindung zu ihnen herstellen.

Lassen Sie uns durch den Prozess der Verwendung dieses praktischen Befehls gehen.

Installation

Unter Ubuntu Server 16.04 ist das Bildschirmtool bereits installiert. Wenn Sie feststellen, dass es nicht vorhanden ist, können Sie es mit dem Befehl sudo apt install screen installieren . Wenn Sie Fedora verwenden, lautet dieser Installationsbefehl sudo dnf install screen . Das ist alles, was es zur Installation gibt.

Verwendung

Sichern Sie Shell auf Ihrem Remote-Linux-Server. Bevor Sie mit der Arbeit beginnen, rufen Sie den Befehlsbildschirm auf. Sie werden von einem Begrüßungsfenster begrüßt ( Abbildung A ).

Abbildung A.

Das Begrüßungsfenster des Bildschirms.


Sie können diesen Bildschirm anpassen, um sich leichter merken zu können, auf welchem ​​Bildschirm welcher Befehl ausgeführt wird:

 Bildschirm -S NAME_OF_COMMAND 

Wobei NAME_OF_COMMAND der eigentliche Befehl ist, den Sie ausführen würden.

Drücken Sie entweder die Leertaste oder die Eingabetaste, um das Begrüßungsfenster zu verlassen. Sie befinden sich nun an einer Standardaufforderung. Lassen Sie uns den Befehl sudo tail -f / var / log / syslog ausgeben. Der Befehl tail wird nach Eingabe in die Syslog-Protokolldatei gestartet (wie erwartet). Öffnen Sie nun einen neuen Bildschirm, indem Sie die Tastenkombination Strg + a + c drücken. Dies gibt Ihnen eine neue Eingabeaufforderung. Pingen wir nun unseren Server mit dem Befehl ping 192.168.1.208 an (geben Sie die IP-Adresse Ihres Servers ein). Wenn dieser Ping ausgeführt wird, können wir mit der Tastenkombination Strg + a + p (die zum vorherigen Bildschirm wechselt) zum vorherigen Bildschirm zurückkehren. Sie sollten jetzt zu Ihrem sudo tail -f / var / log / syslog- Bildschirm zurückkehren. Drücken Sie Strg + a + n (um zum nächsten Bildschirm zu wechseln), und Sie kehren zum Ping-Befehl zurück.

Aber was passiert, wenn Sie Ihre Verbindung verlieren? Sind Ihre Befehle verloren? Nein. Geben Sie den Befehlsbildschirm -ls ein, und Ihre beiden Bildschirme werden aufgelistet ( Abbildung B ).

Abbildung B.

Unsere aktuell laufenden Bildschirme.


Jeder dieser Bildschirme verfügt über eine Sitzungs-ID, mit der Sie die Verbindung wiederherstellen können. Unsere Sitzungs-IDs lauten also:

  • 2216.pts-0.ubuntu16
  • 2067.pts-0.ubuntu16

Sie können mit dem folgenden Befehl eine Verbindung zu einem dieser Bildschirme herstellen:

 Bildschirm 2216.pts-0.ubuntu16 

Das einzige Problem, das wir möglicherweise haben, ist, dass die einzigen Bildschirme, zu denen Sie erneut eine Verbindung herstellen können, die als getrennt aufgeführten Bildschirme sind. Dies geschieht, wenn der Bildschirm eine Netzwerkunterbrechung feststellt. Wenn Sie die Verbindung trennen und die Bildschirme nicht getrennt wurden, können Sie sie manuell mit dem folgenden Befehl trennen und wieder verbinden:

 Bildschirm -rd 2216.pts-0.ubuntu16 

Oder nehmen wir an, Sie haben zunächst einen Bildschirm mit dem Befehlsbildschirm -S Kernel-Compile gestartet. Sie können die Verbindung zu diesem Bildschirm mit dem folgenden Befehl wiederherstellen:

 Bildschirm ID.kernel-kompilieren 

Wobei ID die 4-stellige ID-Nummer ist.

Wenn sich dieser Bildschirm nicht getrennt hat ( Abbildung C ), können Sie die Verbindung mit dem folgenden Befehl wiederherstellen:

 screen -rd ID.kernel-compile 

Wobei ID die Bildschirm-ID-Nummer ist.

Abbildung C.

Unser Kernel-Kompilierungsbildschirm ist als Anhang aufgeführt.


Wenn Sie sich vom Terminal entfernen müssen, der Befehl jedoch weiterhin ausgeführt werden soll, können Sie den Bildschirm manuell trennen, um ihn später mit der Tastenkombination Strg + a + d wieder zu verbinden. Dadurch kehren Sie zur Standardaufforderung zurück.

Um einen Bildschirm zu verlassen, geben Sie einfach den Befehl exit ein und Sie kehren zur Standard-Bash-Eingabeaufforderung zurück. Stellen Sie sicher, dass Sie nach Abschluss Ihrer Bildschirme erneut eine Verbindung zu ihnen herstellen, ihre Befehle beenden und beenden.

Ein Muss-Befehl

Wenn Sie häufig Remote-Verbindungen zu Ihren Linux-Servern herstellen und sicherstellen möchten, dass Ihre Befehlszeilenarbeit nicht aufgrund einer fragwürdigen Netzwerkverbindung verloren geht, ist screen ein Muss. Um mehr darüber zu erfahren, was dies tun kann, rufen Sie den Befehlsbildschirm auf und lesen Sie die Handbuchseite durch.

Newsletter zu Trends im Rechenzentrum

DevOps, Virtualisierung, Hybrid Cloud, Speicher und betriebliche Effizienz sind nur einige der Themen im Rechenzentrum, die wir hervorheben werden. Wird montags und mittwochs geliefert

Heute anmelden

© Copyright 2021 | pepebotifarra.com