Skip to content

Multitasking: achtergrondproces en voorgrondproces

6 de juli de 2021
linux logo 57b8b7183df78c8763bfa97a

Als een 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 voorgrond proces is een opdracht of taak die u rechtstreeks uitvoert en wacht tot deze is voltooid. Sommige processen op de voorgrond tonen een soort gebruikersinterface die voortdurende gebruikersinteractie ondersteunt, terwijl andere een taak uitvoeren en de computer “bevriezen” terwijl deze die taak voltooit. Vanuit de shell begint een voorgrondproces door een opdracht achter de prompt te typen. Als u bijvoorbeeld een eenvoudige lijst van de bestanden in de actieve map wilt zien, typt u: ls

type=”code”> U ziet de lijst met bestanden. Terwijl de computer die lijst voorbereidt en afdrukt, kunt u vanaf de opdrachtprompt niets anders doen. Nadat de lijst met bestanden is afgedrukt naar standaarduitvoer, krijgt u weer toegang tot de shell-prompt.

Achtergrondproces

Anders dan bij een voorgrondproces hoeft de shell niet te wachten op een achtergrondproces te beëindigen voordat het meer processen kan uitvoeren. Binnen de limiet van de beschikbare hoeveelheid geheugen, kunt u vele achtergrondcommando’s 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: commando1 &

type=”code”> Wanneer u een opdracht geeft met het afsluitende ampersand, voert de shell het werk uit, maar in plaats van u te laten wachten tot de opdracht is voltooid, keert u onmiddellijk terug naar de shell. Op dit punt kunt u een ander commando invoeren voor het voorgrond- of achtergrondproces. Achtergrondtaken worden uitgevoerd met een lagere prioriteit dan de voorgrondtaken. U ziet een bericht op het scherm wanneer een achtergrondproces is voltooid.

Schakelen tussen processen

Als een proces op de voorgrond te veel tijd kost, stop het dan door op te drukken Ctrl+Z. Een gestopte taak bestaat nog steeds, maar de uitvoering ervan is opgeschort. Om de taak te hervatten, maar op de achtergrond, typt u bg om de gestopte taak naar de uitvoering op de achtergrond te sturen. Om een ​​onderbroken proces op de voorgrond te hervatten, typt u fg en dat proces zal de actieve sessie overnemen. Om een ​​lijst van alle onderbroken processen te zien, gebruik de banen commando, of gebruik de top commando om een ​​lijst met de meest CPU-intensieve taken weer te geven, zodat u ze kunt onderbreken of stoppen om systeembronnen vrij te maken. Om de uitvoeringsprioriteit van een proces te wijzigen, gebruik leuk en Rene.

Shell versus GUI

Multitasking werkt anders, afhankelijk van of je vanuit de shell of een grafische gebruikersinterface werkt. Linux vanuit de shell ondersteunt slechts één actief voorgrondproces per virtuele terminal. Vanuit het praktische perspectief van de gebruiker ondersteunt een omgeving met vensters (bijvoorbeeld Linux met een desktop, niet vanuit een op tekst gebaseerde shell) verschillende actieve vensters die in feite dienen als meerdere gelijktijdige voorgrondprocessen. In de praktijk past Linux achter de schermen de prioriteit van processen in een GUI aan om de systeemstabiliteit te bevorderen en de verwerking door de eindgebruiker te ondersteunen.