Multitasking auf dem Linux-Terminal 3 Möglichkeiten, mehrere Shells gleichzeitig zu verwenden
Das Linux-Terminal verfügt über umfangreiche Multitasking-Funktionen. Sie können zwischen den bereits auf Ihrem System laufenden virtuellen Konsolen wechseln, die Bash-Jobsteuerung verwenden, um Prozesse im Hintergrund auszuführen, und den GNU-Bildschirm, einen Terminal-Fenstermanager, nutzen.
Sie müssen sich nicht gleichzeitig an einen einzelnen Befehl halten. Unabhängig davon, ob Sie einen Prozess im Hintergrund ausführen und gelegentlich erneut aufrufen oder mehrere zeitaufwändige Aufgaben gleichzeitig ausführen möchten, Linux bietet mehrere Optionen.
Virtuelle Konsolen
Standardmäßig verfügen die meisten Linux-Systeme über mehrere virtuelle Konsolen, die im Hintergrund ausgeführt werden. Wechseln Sie durch Drücken von Strg-Alt und einen Schlüssel dazwischen schlagen F1 und F6. Strg-Alt-F7 führt Sie normalerweise zum grafischen X-Server zurück.
Durch Drücken der Tastenkombination gelangen Sie zu einer Anmeldeaufforderung. Sie können sich anmelden, einen Befehl ausführen und dann abschalten. Der Befehl wird im Hintergrund ausgeführt, sodass Sie mehrere verschiedene Terminalsitzungen gleichzeitig ausführen können.
Der Text „tty1“ gibt an, dass dies das Terminal ist, das sich bei Strg-Alt-F1 befindet, tty2 wäre bei F2.
Dies sind nur die häufigsten Einstellungen - verschiedene Linux-Distributionen könnten weniger virtuelle Konsolen ausführen und den X-Server an einem anderen Ort befinden.
Bash-Jobsteuerung
Die Bash-Shell bietet eigene Funktionen für die Verarbeitung mehrerer Prozesse. Mit der Jobsteuerung können Sie Prozesse ausführen und von ihnen verbinden und trennen. Ein angehängter Prozess wird als Vordergrundprozess bezeichnet, während ein separater Prozess als Hintergrundprozess bezeichnet wird.
Um einen Prozess im Hintergrund zu starten, fügen Sie das hinzu & Zeichen nach seinem Befehl. Um beispielsweise den Nano-Texteditor als Hintergrundjob zu öffnen, geben Sie den folgenden Befehl ein:
nano &
Die [1] gibt an, dass die Job-ID unseres neuen Jobs 1 ist. Die 3751 ist ihre Prozess-ID.
Jeder Job, den wir starten, erhält eine eigene Job-ID. Führen Sie das aus Arbeitsplätze Befehl, um die Liste der aktuell laufenden Jobs anzuzeigen. Das + -Zeichen kennzeichnet den Job, der zuletzt der Shell zugeordnet wurde, während das - Zeichen den Job angibt, der dem Shell als vorletzter zugeordnet wurde.
Das fg Mit dem Befehl können Sie einen Hintergrundjob in den Vordergrund bringen und ihn an die aktuelle Shell anhängen. Wenn Sie fg oder einen anderen auftragsbezogenen Befehl ausführen, ohne einen Job anzugeben, wird der zuletzt zugeordnete Job verwendet - der mit einem Pluszeichen in der Jobliste. Sie können auch eine Auftragsnummer angeben. Mit dem folgenden Befehl wird beispielsweise Job 1 wieder in den Vordergrund gebracht:
fg% 1
Beenden Sie einen Prozess normal und er verschwindet aus der Liste der laufenden Jobs. Wenn Sie einen Job von der aktuellen Shell trennen möchten, verwenden Sie die ^ Z - das ist, Ctrl-Z - Tastaturkürzel.
GNU-Bildschirm
GNU Screen ist ein "Vollbild-Fenstermanager", mit dem Sie mehrere Shells in einem einzigen Terminal verwenden können. Es ist möglicherweise nicht standardmäßig installiert - es ist nicht auf Ubuntu installiert. Verwenden Sie auf Ubuntu oder Debian den folgenden Befehl, um Screen zu installieren:
sudo apt-get Installationsbildschirm
Sobald es installiert ist, führen Sie das aus Bildschirm Befehl und Sie werden einige Informationen über Screen sehen.
Drücken Sie die Leertaste oder die Eingabetaste, und Sie sehen ein normal aussehendes Terminal.
Es sieht vielleicht nicht besonders aus, aber diese Shell läuft tatsächlich in GNU Screen. Drücken Sie Strg-a und dann d vom Bildschirm lösen. Sie befinden sich wieder im normalen Terminal.
Um den Bildschirm erneut anzuschließen, führen Sie die Bildschirm -r Befehl. Sie sind wieder am selben Terminal wie zuvor.
Es gibt noch viel mehr, was Sie mit dem Bildschirm machen können. Erstellen Sie beispielsweise ein neues "Fenster" (Terminal) auf dem Bildschirm, indem Sie drücken Strg-a, dann c. Wenn Sie mehrere Fenster haben, drücken Sie Strg-a zweimal um zwischen ihnen zu wechseln. Sie können auch drücken Strg-a, dann “ um eine Liste der Fenster anzuzeigen.
Wählen Sie ein Fenster in der Liste aus und drücken Sie die Eingabetaste, um zum Fenster zu wechseln.
Wir haben bereits früher über die Verwendung von GNU Screen und über Byobu geschrieben, wodurch GNU Screen verbessert wird.