Bemästra Linux-kommandoraden och Bash-skriptning · Lektion

Jobbhantering (bg, fg, jobs)

Lär dig att hantera bakgrunds- och förgrundsprocesser, pausa och återuppta dem samt lista jobb i din skal-session.

Lektion 1 av 411 steg

Jobbhantering (bg, fg, jobs) är en gratis lektion i Bemästra Linux-kommandoraden och Bash-skriptning på CoddyKit. Detta är lektion 1 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Bemästra Linux-kommandoraden och Bash-skriptning, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Bemästra Linux-kommandoraden och Bash-skriptning innehåller totalt 4 lektioner.

Vad är jobbkontroll?

Välkommen till jobbkontroll! Den här kraftfulla funktionen i ditt Linux-skal låter dig hantera program som körs utan att stänga terminalen eller öppna nya terminaler.

Se det som multitasking på kommandoraden. Du kan pausa en uppgift, flytta den till bakgrunden eller ta tillbaka den till förgrunden.

Förgrund kontra bakgrund

När du kör ett kommando körs det vanligtvis i förgrunden. Det innebär att det tar kontroll över terminalen och att du inte kan skriva nya kommandon förrän det har körts klart.

En bakgrundsprocess körs däremot självständigt. Den frigör terminalen så att du kan fortsätta arbeta med annat medan den körs.

Pausa en process (Ctrl+Z)

Om du vill pausa en förgrundsprocess som körs använder du kortkommandot Ctrl+Z. Det skickar signalen SIGTSTP, som pausar processen.

Processen avslutas inte utan blir ett ”stoppat” jobb som väntar på att du ska ange vad den ska göra härnäst.

Visa dina jobb (jobs)

När du har pausat en process (eller skickat en till bakgrunden) kan du visa en lista över alla aktiva jobb i den aktuella shell-sessionen med kommandot jobs.

Varje jobb får ett unikt jobbnummer (till exempel [1], [2] och så vidare) samt en status (till exempel Stopped eller Running).

sleep 50 &
sleep 60 &
jobs

Ta fram till förgrunden (fg)

Om du har ett stoppat jobb eller ett jobb som körs i bakgrunden kan du ta fram det till förgrunden med kommandot fg, följt av jobbets nummer (till exempel %1).

Då blir jobbet åter den aktiva processen i terminalen.

sleep 100 &
jobs
# Now, let's bring it to foreground
fg %1

Skicka till bakgrunden (bg)

Om du vill återuppta ett stoppat jobb och skicka det till bakgrunden använder du kommandot bg tillsammans med jobbets nummer.

Processen fortsätter att köras utan att blockera terminalen, och du får tillbaka kommandoprompten direkt.

sleep 200
# Press Ctrl+Z to stop it
# Then type:
bg %1
jobs

Köra i bakgrunden ( & )

Du behöver inte alltid starta en process i förgrunden och sedan pausa den. Du kan starta ett kommando direkt i bakgrunden genom att lägga till ett et-tecken (&) i slutet av kommandot.

Det passar utmärkt för långvariga uppgifter som du inte behöver interagera med.

echo "Starting long task..." &
sleep 300 &
jobs

Jobbnummer och PID:er

När du använder jobs visas jobbnummer som [1] och [2]. De gäller endast för den aktuella shell-sessionen.

Varje process som körs har också ett unikt process-ID (PID), vilket är ett systemomfattande nummer. Du kan visa PID:er med jobs -l eller ps.

sleep 100 &
jobs -l

Stoppa jobb (kill)

Om du vill avsluta ett jobb som körs i bakgrunden eller är stoppat kan du använda kommandot kill. Du kan ange jobbnumret (till exempel kill %1) eller dess PID (till exempel kill 12345).

kill skickar en signal till processen. Som standard är signalen SIGTERM (graceful avslutning). Om du vill tvinga fram en avslutning använder du kill -9 %job_number eller kill -9 PID.

sleep 500 &
jobs
# Assuming sleep is job 1:
kill %1
jobs

Frågesport om jobbhantering

Du har startat ett långvarigt kommando (till exempel find / -name *.txt), men behöver nu få tillbaka terminalen för att skriva ett annat kommando. Vilken sekvens är rätt för att pausa kommandot find, skicka det till bakgrunden så att det fortsätter att köras och sedan bekräfta att det är ett bakgrundsjobb?

Sammanfattning: jobbhantering

Du behärskar nu jobbhantering!

  • Ctrl+Z pausar en förgrundsprocess.
  • jobs listar alla aktiva jobb.
  • fg %N tar fram jobb N till förgrunden.
  • bg %N skickar ett stoppat jobb N till bakgrunden.
  • Om du lägger till & körs ett kommando direkt i bakgrunden.
  • kill %N eller kill PID avslutar ett jobb.

Det gör att du effektivt kan hantera flera uppgifter i en och samma terminals­ession!

Gratis att börja

Lär dig Bash 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
22
Lektioner
88

Vanliga frågor

Är lektionen ”Jobbhantering (bg, fg, jobs)” gratis?

Ja – hela texten till ”Jobbhantering (bg, fg, jobs)” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Bemästra Linux-kommandoraden och Bash-skriptning, kan Ni uppgradera till CoddyKit PRO. Kursen i Bemästra Linux-kommandoraden och Bash-skriptning innehåller totalt 4 lektioner.

Vad lär jag mig i ”Jobbhantering (bg, fg, jobs)”?

Lär dig att hantera bakgrunds- och förgrundsprocesser, pausa och återuppta dem samt lista jobb i din skal-session. Ni övar på Bemästra Linux-kommandoraden och Bash-skriptning 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 Bemästra Linux-kommandoraden och Bash-skriptning?

Du behöver inga förkunskaper. Utbildningen i Bemästra Linux-kommandoraden och Bash-skriptning 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 ”Jobbhantering (bg, fg, jobs)”?

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 Bemästra Linux-kommandoraden och Bash-skriptning-lektionen?

Ja. Varje Bemästra Linux-kommandoraden och Bash-skriptning-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. Jobbhantering (bg, fg, jobs)
  2. Skalexpansion och globbning
  3. Alias och anpassade promptar
  4. Skalfunktioner och återanvändbara kodsnuttar
← Tillbaka till Bemästra Linux-kommandoraden och Bash-skriptning