I Linux- och Unix-baserade operativsystem är en körande kommandoinstans känd som en process. Du kan identifiera varje process med ett unikt process-ID. Linux tillhandahåller kommandoradsverktyg för att lista, hantera och övervaka dessa processer effektivt.

Du kan använda dessa verktyg för att prioritera varje process eller placera dem i bakgrunden eller förgrunden för att hantera systemresurser effektivt.

Den här guiden till processhantering i Linux innehåller verktyg som ps, kill, renice och andra kommandon som hjälper systemadministratörer att hantera och lista processer.

Lista processer med kommandot ps

Det äldsta och mest använda kommandoradsverktyget för att lista för närvarande körda processer på Linux är ps. Även om det översta kommandot är ett annat interaktivt och skärmorienterat sätt att hantera och lista systemprocesser, ps visar också ytterligare information som resurserna varje process förbrukar.

På grund av en fleranvändarmiljö är varje process i Linux associerad med ett separat användar- och gruppkonto. Därför hjälper kontoinformation med processdetaljer dig att komma åt systemresurserna som en process kan använda.

instagram viewer

Till exempel kan processer som körs med superanvändarprivilegier komma åt fler systemresurser än en vanlig användare, och det är här ps hjälper systemadministratörer.

Följande utdata är ett exempel på att lista processer med användarnamn, förfluten tid och tillhörande minnes- och CPU-förbrukning:

Du kan också notera STAT-kolumnen som visar tillståndet för den pågående processen. R representerar processen som körs för närvarande, och S är en sovande process med ett plustecken som indikerar förgrundsoperationer.

Du kan lista alla processer för den aktuella användaren, enligt följande:

ps ux | mindre

För att lista processer för alla användare:

ps aux | mindre

Hantera processer med System Monitor

System Monitor ger ett grafiskt sätt att visa och hantera processer. För att starta System Monitor, gå till Applikationer > Systemövervakning. Byt till Processer fliken för att se alla pågående processer.

Som standard visar den processer i alfabetisk ordning för den aktuella användaren. Du kan sortera om processlistan genom att klicka på valfri kolumnrubrik. Dessutom kan du klicka på %CPU och Minne rubriker för att se processer som förbrukar mer processorkraft och minne.

System Monitor låter dig hantera processer på olika sätt, vilket innebär att du kan stoppa, döda, fortsätta, avsluta och ändra processprioritet genom att helt enkelt högerklicka på ett processnamn.

Det är det bästa go-to-verktyget för nybörjare Linux-användare som inte vet hur man arbetar med kommandoradsverktyg.

Relaterad: Hur man visar toppprocessresultat och sortering efter minne

Arbeta med bakgrunds-/förgrundsprocesser

Det kommer en tid när du måste komma åt ett Linux-system över ett nätverk med bara en kommandorad. Detta begränsar den effektiva hanteringen av flera aktiva program. Men ett skal låter dig hantera program genom att växla dem till bakgrund och förgrund.

Hur man startar en bakgrundsprocess

För att starta ett program medan du fortsätter att arbeta i skalet, kör kommandot, stoppa det och placera det i bakgrunden med hjälp av Ctrl + Z. För att köra ett program direkt i bakgrunden, lägg till ett et-tecken (&) i slutet av kommandot, enligt följande:

hitta /usr > /tmp/allusrfiles &

Anteckna jobbnumret och process-ID. Tänk på att du inte kan köra kommandon som kräver terminalinmatning i bakgrunden.

Du kan använda jobb kommando för att visa alla program/kommandon som körs i bakgrunden eller de som du stoppade (med Ctrl + Z).

jobb

Hur man återupptar förgrunds- och bakgrundsprocesser

För att fortsätta ett jobb som du lägger i bakgrunden, använd fg kommando, och det kommer att placera kommandot i förgrunden.

fg %

På liknande sätt, om du stoppade ett kommando från att köras i bakgrunden, kan du starta om det igen i bakgrunden med hjälp av kommandot bg, enligt följande:

bg %

Dödande processer på Linux

Precis som ett grafiskt verktyg som System Monitor låter dig döda, stoppa och fortsätta en process, kan du också använda kommandoradsverktyg som döda och döda alla för att skicka en signal till en pågående process.

Förutom att helt enkelt döda en process, hjälper kill-kommandot också till att skicka olika signaler för att hantera processbeteenden.

Du kan använda antingen namn eller nummer för att använda en signal.

döda -signalnummer 
döda -signalnamn

Till exempel skickar följande kommandon SIGKILL-signalen till en process med PID 1987:

döda -9 1987
kill -SIGKILL 1987

De mest använda processsignalerna är:

Alternativ Beskrivning
SIGKILL (9) Dödar processen omedelbart
SIGTERM (15) Avslutar processen
SIGSTOP (19/28/25) Stoppar processen
SIGCONT (19/28/25) Fortsätter processen efter att den har stoppats
REGISTRERA (1) Instruerar processen att läsa dess konfigurationsfil

Observera att olika processer reagerar olika på dessa signaler men de kan inte stoppa SIGSTOP- och SIGKILL-signaler. Skriv följande kommando för att läsa mer om dessa signaler:

man 7 signal

Läs mer: Hur man avslutar processer som inte svarar i Linux med kill och pkill

Renicing processer på Linux

Linuxkärnan prioriterar körande processer och tilldelar systemresurser genom att ta hänsyn till användarkontobehörigheter. Kärnan tar också hänsyn till en annan faktor, som är det "fina" värdet av varje pågående process.

Standardvärdet för en process är noll men du kan ställa in intervallet mellan -20 till 19. Lite fakta om inställning processprioritet med nice och renice värden är:

  • En process med lågt värde har mer tillgång till CPU-resurserna
  • En vanlig användare kan bara omprioritera sina processer
  • En vanlig användare kan bara ställa in värden mellan -20 och 19, och kan bara ställa in ett högre värde
  • En superanvändare kan ställa in allas processer till vilket värde som helst, högt eller lågt

Processhantering på Linux på ett enkelt sätt

En fleranvändarmiljö har flera processer som kräver tillräcklig kunskap om systemresurshantering för att förhindra flaskhalsar och systembegränsningar. En del av uppgiften inkluderar att hantera processer genom att köra dem i bakgrunden/förgrunden, döda eller återskapa dem.

Du kan också lära dig om det översta kommandoverktyget för att visa och sortera processer och lära dig att avsluta icke-svarande processer på Linux.

7 sätt att döda program som inte svarar i Linux

När en Linux-app inte svarar och kraschar, hur kan du döda den? Prova ett av dessa knep för att tvinga avsluta ett program i Linux.

Läs Nästa

Dela med sigTweetE-post
Relaterade ämnen
  • Linux
  • Datorprocessor
  • Linux-kommandon
  • Linux Elementary
Om författaren
Rumaisa Niazi (13 artiklar publicerade)

Rumaisa är frilansskribent på MUO. Hon har burit många hattar, från en matematiker till en informationssäkerhetsentusiast, och arbetar nu som SOC-analytiker. Hennes intressen inkluderar att läsa och skriva om ny teknik, Linux-distributioner och allt kring informationssäkerhet.

Mer från Rumaisa Niazi

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera