Multitask op de Linux Terminal 3 manieren om meerdere shells tegelijkertijd te gebruiken
De Linux-terminal heeft uitgebreide multitasking-mogelijkheden. U kunt schakelen tussen de virtuele consoles die al op uw systeem worden uitgevoerd, Bash-taakbesturing gebruiken om processen op de achtergrond uit te voeren en profiteren van het GNU-scherm, een terminalvensterbeheerder.
U hoeft niet per keer één opdracht te gebruiken. Of u nu een proces op de achtergrond wilt uitvoeren en af en toe opnieuw wilt bezoeken of meerdere tijdrovende taken tegelijkertijd wilt uitvoeren, Linux biedt verschillende opties.
Virtuele consoles
Standaard hebben de meeste Linux-systemen verschillende virtuele consoles die op de achtergrond worden uitgevoerd. Wissel tussen hen door op te drukken Ctrl-Alt en een sleutel raken tussen F1 en F6. Ctrl-Alt-F7 brengt u meestal terug naar de grafische X-server.
Als u op de toetscombinatie drukt, wordt u naar een aanmeldingsprompt geleid. U kunt inloggen en een opdracht uitvoeren en vervolgens uitschakelen - de opdracht blijft op de achtergrond actief, zodat u meerdere verschillende terminalsessies tegelijk kunt gebruiken.
De "tty1" -tekst hier geeft aan dat dit de terminal is bij Ctrl-Alt-F1, tty2 zou bij F2 zijn.
Dit zijn slechts de meest voorkomende instellingen - bij verschillende Linux-distributies kunnen minder virtuele consoles worden uitgevoerd en de X-server zich op een andere plaats bevinden.
Bash Job Control
De Bash-shell biedt zijn eigen functies voor het verwerken van meerdere processen. Met taakbeheer kunt u processen uitvoeren en hieraan koppelen en loskoppelen. Een gekoppeld proces staat bekend als een voorgrondproces, terwijl een losstaand proces bekend staat als een achtergrondproces.
Om een proces op de achtergrond te starten, voegt u het toe & teken na het commando. Als u bijvoorbeeld de Nano-teksteditor wilt gebruiken als achtergrondtaak, typt u de volgende opdracht:
nano en
De [1] geeft aan dat de taak-ID van onze nieuwe taak 1 is. De 3751 is de proces-ID.
Elke taak die we starten, krijgt een eigen werk-ID. Voer de ... uit jobs opdracht om de lijst met momenteel actieve taken te bekijken. Het + -teken geeft de taak aan die voor het laatst aan de shell was gekoppeld, terwijl het teken - de taak aangeeft die voor het laatst in verband met de shell was.
De fg Met Command kunt u een achtergrondtaak naar de voorgrond brengen en deze aan de huidige shell koppelen. Als u FG of een andere opdracht met betrekking tot de taak uitvoert zonder een taak op te geven, gebruikt u de laatst gekoppelde taak - de taak met een + -teken in de takenlijst. U kunt ook een taaknummer opgeven. Met de volgende opdracht wordt taak 1 bijvoorbeeld teruggezet naar de voorgrond:
fg% 1
Beëindig een proces normaal en het zal verdwijnen uit de lijst met lopende taken. Als u een taak uit de huidige shell wilt verwijderen, gebruikt u de ^ Z - dat is, Ctrl-Z - Toetsenbord sneltoets.
GNU-scherm
GNU Screen is een "window-manager op volledig scherm" waarmee je meerdere shells in één terminal kunt gebruiken. Het is misschien niet standaard geïnstalleerd - het is niet op Ubuntu. Gebruik op Ubuntu of Debian de volgende opdracht om Scherm te installeren:
sudo apt-get installatievenster
Zodra het is geïnstalleerd, voert u de scherm commando en je zult wat informatie over het scherm zien.
Druk op Spatie of Enter en je ziet een normaal ogende terminal.
Het ziet er misschien niet speciaal uit, maar deze shell draait eigenlijk binnen GNU Screen. druk op Ctrl-a en dan d om los te maken van het scherm. Je bent terug bij de normale terminal.
Om opnieuw verbinding te maken met het scherm, voert u de scherm -r commando. Je bent terug bij dezelfde terminal als daarvoor.
Er is veel meer dat u met het scherm kunt doen. Maak bijvoorbeeld een nieuw "venster" (terminal) op het scherm door op te drukken Ctrl-a, dan c. Zodra u meerdere vensters hebt, drukt u op Ctrl-a twee keer om tussen te schakelen. U kunt ook op drukken Ctrl-a, dan “ om een lijst met vensters te zien.
Selecteer een venster in de lijst en druk op Enter om ernaar te schakelen.
We hebben eerder geschreven over het gebruik van GNU Screen en zijn over gegaan met Byobu, wat GNU Screen verbetert.