Skip to main content

Linux-achtergrond en voorgrondproces

Multitasking (Juni- 2026)

Multitasking (Juni- 2026)
Anonim

Als multitasking-besturingssysteem ondersteunt Linux de uitvoering van veel processen - in feite, programma's of opdrachten of soortgelijke taken - op de achtergrond terwijl u op de voorgrond blijft werken.

Voorgrondprocessen

EEN voorgrondproces is een opdracht of taak die u rechtstreeks uitvoert en wacht totdat deze is voltooid. Sommige voorgrondprocessen laten een soort gebruikersinterface zien die doorlopende gebruikersinteractie ondersteunt, terwijl andere een taak uitvoeren en de computer "bevriezen" terwijl deze taak wordt voltooid.

Vanuit de shell begint een voorgrondproces door een opdracht bij de aanwijzing te typen. Als u bijvoorbeeld een eenvoudige lijst van de bestanden in de actieve map wilt zien, typt u:

$

ls

Je ziet de lijst met bestanden. Terwijl de computer bezig is met het voorbereiden en afdrukken van die lijst, kunt u niets anders doen vanaf de opdrachtprompt.

Achtergrondproces

In tegenstelling tot een voorgrondproces, hoeft de shell niet te wachten op a achtergrondproces om te eindigen voordat het meer processen kan uitvoeren. Binnen de limiet van de beschikbare hoeveelheid geheugen kunt u vele achtergrondopdrachten achter elkaar invoeren. Als u een opdracht als achtergrondproces wilt uitvoeren, typt u de opdracht en voegt u een spatie en een ampersand toe aan het einde van de opdracht. Bijvoorbeeld:

$

opdracht1 &

Wanneer u een opdracht geeft met de afsluitende en-tekenopdracht, voert de shell het werk uit, maar in plaats dat u wacht tot de opdracht is voltooid, wordt u onmiddellijk teruggestuurd naar de shell en ziet u de shell-prompt (% voor de C Shell en $ voor de Bourne Shell en de Korn Shell) terugkeren. Op dit punt kunt u een ander commando invoeren voor zowel het voorgrond- als het achtergrondproces. Achtergrondtaken worden met een lagere prioriteit uitgevoerd naar de voorgrondtaken.

U ziet een bericht op het scherm wanneer een achtergrondproces is voltooid.

Schakelen tussen processen

Als een voorgrondproces te lang duurt, stop dan door op CTRL + Z te drukken. Er is nog steeds een gestopte taak, maar de uitvoering ervan is opgeschort. Om de taak te hervatten, maar op de achtergrond, typt u bg om de gestopte opdracht naar uitvoering op de achtergrond te verzenden.

Als u een opgeschort proces op de voorgrond wilt hervatten, typt ufg en dat proces zal de actieve sessie overnemen.

Als u een lijst met alle opgeschorte processen wilt weergeven, gebruikt u dejobs opdracht, of gebruik detop opdracht om een ​​lijst weer te geven van de meest CPU-intensieve taken, zodat u ze kunt opschorten of stoppen om systeembronnen vrij te maken.

Shell versus GUI

Multitasking werkt anders, afhankelijk van of u werkt vanuit de shell of een grafische gebruikersinterface. Linux van de shell ondersteunt slechts één actief voorgrondproces per virtuele terminal. Vanuit het praktische perspectief van de gebruiker ondersteunt een vensteromgeving (bijv. Linux met een bureaublad, niet van een op tekst gebaseerde schaal) verschillende actieve vensters die effectief dienen als meerdere simultane voorgrondprocessen. In de praktijk past Linux achter de schermen de prioriteit van processen in een GUI aan om de stabiliteit van het systeem te bevorderen en de verwerking door eindgebruikers te ondersteunen.