Skip to main content

Bakgrund och förgrunds Linux-process

Can You Really Multitask? (April 2025)

Can You Really Multitask? (April 2025)
Anonim

Som ett multitasking-operativsystem stöder Linux utförandet av många processer, i grunden program eller kommandon eller liknande uppgifter, i bakgrunden medan du fortsätter att arbeta i förgrunden.

Förgrundsprocesser

en förgrundsprocess är något kommando eller uppgift du kör direkt och väntar på att den ska slutföra. Vissa förgrundsprocesser visar någon typ av användargränssnitt som stöder pågående användarinteraktion, medan andra utför en uppgift och "fryser" datorn medan den slutför den uppgiften.

Från skalet börjar en förgrundsprocess genom att skriva ett kommando vid prompten. Om du t.ex. vill se en enkel lista över filerna i den aktiva katalogen skriver du:

$

ls

Du får se listan över filer. Medan datorn förbereder och skriver ut den listan kan du inte göra något annat än kommandotolken.

Bakgrundsprocess

Till skillnad från en förgrundsprocess behöver behållaren inte vänta på en bakgrundsprocess att sluta innan det kan köra fler processer. Inom gränsen för mängden tillgängligt minne kan du ange många bakgrundskommandon en efter en. För att köra ett kommando som en bakgrundsprocess skriver du kommandot och lägger till ett mellanslag och en ampersand till slutet av kommandot. Till exempel:

$

command1 &

När du utfärdar ett kommando med den avslutande ampersanden, kommer skalet att utföra arbetet, men istället för att du väntar på att kommandot ska slutföras, kommer du omedelbart att returneras till skalet och du får se skalprompten (% för C Shell, och $ för Bourne Shell och Korn Shell) returnerar. Vid denna tidpunkt kan du ange ett annat kommando för antingen förgrunds- eller bakgrundsprocess. Bakgrundsjobb körs med lägre prioritet till förgrundsjobb.

Du kommer att se ett meddelande på skärmen när en bakgrundsprocess är klar.

Växling mellan processer

Om en förgrundsprocess tar för mycket tid, stoppa det genom att trycka på CTRL + Z. Ett stoppat jobb finns fortfarande, men körningen avbryts. För att återuppta jobbet, men i bakgrunden, skriv bg att skicka det stoppade jobbet till bakgrundsutförande.

Om du vill återuppta en pågående process i förgrunden skriver du infg och den processen tar över den aktiva sessionen.

För att se en lista över alla suspenderade processer, användjobb kommando, eller användtopp Kommandot att visa en lista över de mest CPU-intensiva uppgifterna så att du kan avbryta eller stoppa dem för att frigöra systemresurser.

Shell vs GUI

Multitasking fungerar olika beroende på om du arbetar från skalet eller ett grafiskt användargränssnitt. Linux från skalet stöder bara en aktiv förgrundsprocess per virtuell terminal. Men från användarens praktiska perspektiv stöder en windowed-miljö (t.ex. Linux med ett skrivbord, inte från ett textbaserat skal) flera aktiva fönster som effektivt fungerar som flera samtidiga förgrundsprocesser. I praktiken anpassar Linux bakom kulisserna prioriteringen av processer i en GUI för att främja systemstabilitet och stödja slutanvändarbehandling.