DevOps-bootcamp · Lektion

Hantera processer (ps, top, kill)

Lär er lista, övervaka och avsluta körande processer på systemet samt förstå process-ID:n och processtillstånd.

Lektion 1 av 412 steg

Hantera processer (ps, top, kill) är en gratis lektion i DevOps-bootcamp på CoddyKit. Detta är lektion 1 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för DevOps-bootcamp, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad är processer?

I Linux är en process en instans av ett program som körs. Varje kommando Ni kör och varje program Ni öppnar körs som en eller flera processer.

  • Processer hanteras av operativsystemet.
  • Att förstå dem är viktigt för att övervaka systemets hälsa och felsöka problem.

Visa processer med `ps`

Kommandot ps (process status) används för att visa information om processer som körs för närvarande.

Som standard visas processer som är kopplade till den aktuella terminalsessionen.

Detaljerad processinformation (`ps aux`)

Om du vill se alla processer som körs på systemet, inklusive sådana som har startats av andra användare eller systemtjänster, använder du alternativ som aux eller -ef.

  • ps aux: Visar alla processer, även sådana som inte är kopplade till en terminal.
  • ps -ef: Visar alla processer i ett fullständigt listformat.

Prova att köra ps aux och skicka resultatet vidare till head för att se de första raderna:

ps aux | head -n 5

Förstå resultatet från `ps`

Resultatet från ps aux innehåller flera viktiga kolumner:

  • USER: Användaren som äger processen.
  • PID: Unikt process-ID.
  • %CPU: Processoranvändning i procent.
  • %MEM: Minnesanvändning i procent.
  • COMMAND: Kommandot som startade processen.

PID är särskilt viktigt när du hanterar processer.

Övervaka i realtid med `top`

Medan ps ger en ögonblicksbild visar kommandot top en dynamisk vy av processerna som körs i realtid.

Resultatet uppdateras kontinuerligt och visar de processer som använder mest resurser.

Tolka mätvärden från `top`

När du kör top visas en sammanfattning högst upp och en processlista nedanför.

  • Load Average: Genomsnittlig systembelastning under 1, 5 och 15 minuter.
  • Tasks: Totalt antal processer samt antal körande, vilande, stoppade och zombieförsedda processer.
  • %Cpu(s): Processorutnyttjande.
  • Mem: Totalt, ledigt, använt och buffrat minne.
  • Process List: Liknande kolumner som i ps, men listan sorteras hela tiden, som standard efter CPU-användning.

Hitta specifika processer

Du kan kombinera ps med grep för att filtrera fram specifika processer, till exempel för att hitta alla processer som är relaterade till 'bash'.

Med delen grep -v grep kan du utesluta själva kommandot grep från resultatet.

ps aux | grep -i "bash" | grep -v "grep"

Avsluta processer med `kill`

Ibland kan en process hänga sig eller använda för mycket resurser. Med kommandot kill kan du skicka signaler till processer, vanligtvis för att avsluta dem.

Du behöver PID:t för processen som du vill avsluta.

Förstå signaler i `kill`

När du använder kill skickar du en ”signal” till en process. Standardsignalen är SIGTERM (15), som ber processen att avsluta på ett ordnat sätt.

  • kill PID: Skickar SIGTERM.
  • kill -9 PID: Skickar SIGKILL. Detta tvingar fram ett avslut som processen inte kan ignorera. Använd det med försiktighet!

Du kan lista alla tillgängliga signaler med kill -l:

kill -l

Praktiskt exempel med `kill`

Vi övar på att avsluta en enkel bakgrundsprocess. Vi startar kommandot sleep i bakgrunden, hittar dess PID och använder sedan kill för att stoppa det.

Kör koden nedan. När den har körts visas PID:t för processen sleep. Skriv sedan manuellt kill <PID> i terminalen (ersätt <PID> med det faktiska numret) för att stoppa den.

# Step 1: Start a dummy process in the background
sleep 300 &
echo "Sleep process started. Now finding its PID..."

# Step 2: Find its Process ID (PID)
# Look for the 'sleep' process in the output
ps aux | grep -i "sleep" | grep -v "grep"

# Step 3: To kill it, manually type 'kill <PID>'
# Example: kill 12345

Snabbtest: Processhantering

Du har lärt dig att lista, övervaka och avsluta processer. Nu testar vi dina kunskaper.

Sammanfattning: Hantera processer

Bra jobbat! I den här lektionen har du lärt dig viktiga Linux-kommandon för processhantering:

  • ps: För att lista processer och få en ögonblicksbild av deras status.
  • top: För dynamisk övervakning av systemets processer och resursanvändning i realtid.
  • kill: För att skicka signaler till processer, främst för att avsluta dem på ett ordnat sätt (SIGTERM) eller tvinga fram ett avslut (SIGKILL).

Dessa verktyg är avgörande för systemadministration och felsökning.

Gratis att börja

Lär dig DevOps-bootcamp med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
142
Lektioner
568

Vanliga frågor

Är lektionen ”Hantera processer (ps, top, kill)” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen DevOps-bootcamp, inklusive ”Hantera processer (ps, top, kill)”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i DevOps-bootcamp innehåller totalt 4 lektioner.

Vad lär jag mig i ”Hantera processer (ps, top, kill)”?

Lär er lista, övervaka och avsluta körande processer på systemet samt förstå process-ID:n och processtillstånd. Ni övar på DevOps-bootcamp med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig DevOps-bootcamp?

Du behöver inga förkunskaper. Utbildningen i DevOps-bootcamp på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 4.

Hur lång tid tar lektionen ”Hantera processer (ps, top, kill)”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här DevOps-bootcamp-lektionen?

Ja. Varje DevOps-bootcamp-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Hantera processer (ps, top, kill)
  2. Omdirigering av in- och utdata (>, >>, <)
  3. Koppla ihop kommandon med pipes (|)
  4. Bakgrundsjobb och jobbkontroll
← Tillbaka till DevOps-bootcamp