Intensiv DevOps-uddannelse · Lektion

Jobstyring (bg, fg, jobs)

Bliv fortrolig med at administrere baggrunds- og forgrundsprocesser, sætte jobs på pause, genoptage dem og vise dem i Deres shell-session.

Lektion 1 af 411 trin

Jobstyring (bg, fg, jobs) er en gratis Intensiv DevOps-uddannelse-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Intensiv DevOps-uddannelse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad er jobstyring?

Velkommen til jobstyring! Denne effektive funktion i din Linux-shell lader dig administrere kørende programmer uden at lukke din terminal eller åbne nye terminaler.

Tænk på det som multitasking på kommandolinjen. Du kan sætte en opgave på pause, flytte den til baggrunden eller hente den tilbage i forgrunden.

Forgrund vs. baggrund

Når du kører en kommando, kører den normalt i forgrunden. Det betyder, at den tager kontrollen over din terminal, og du kan ikke skrive nye kommandoer, før den er færdig.

En baggrundsproces kører derimod uafhængigt. Den frigiver din terminal, så du kan fortsætte med at arbejde på andre ting, mens den kører.

Sætte en proces på pause (Ctrl+Z)

Hvis du vil sætte en kørende forgrundsproces på pause, skal du bruge tastaturgenvejen Ctrl+Z. Det sender et SIGTSTP-signal, som suspenderer processen.

Processen afsluttes ikke; den bliver til et "stoppet" job, der venter på, at du fortæller den, hvad den skal gøre derefter.

Se dine job (jobs)

Når du har sat en proces på pause (eller sendt en til baggrunden), kan du se en liste over alle aktive job i din aktuelle shell-session ved hjælp af kommandoen jobs.

Hvert job får et entydigt jobnummer (som [1], [2] osv.) og sin status (f.eks. Stopped, Running).

sleep 50 &
sleep 60 &
jobs

Hente til forgrunden (fg)

Hvis du har et stoppet job eller et job, der kører i baggrunden, kan du hente det tilbage til forgrunden ved hjælp af kommandoen fg efterfulgt af jobnummeret (f.eks. %1).

Det gør jobbet til den aktive proces i din terminal igen.

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

Sende til baggrunden (bg)

Hvis du vil genoptage et stoppet job og sende det til baggrunden, skal du bruge kommandoen bg sammen med jobnummeret.

Processen fortsætter med at køre uden at blokere din terminal, og du får straks din kommandoprompt tilbage.

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

Køre i baggrunden ( & )

Du behøver ikke altid starte en proces i forgrunden og derefter sætte den på pause. Du kan starte en kommando direkte i baggrunden ved at tilføje et og-tegn (&) i slutningen af kommandoen.

Det er praktisk til langvarige opgaver, som du ikke behøver at interagere med.

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

Jobnumre og PID'er

Når du bruger jobs, ser du jobnumre som [1], [2]. De gælder kun for din shell-session.

Alle kørende processer har også et entydigt proces-id (PID), som er et systemdækkende nummer. Du kan se PID'er med jobs -l eller ps.

sleep 100 &
jobs -l

Stoppe job (kill)

Hvis du vil afslutte et baggrundsjob eller et stoppet job, kan du bruge kommandoen kill. Du kan angive jobnummeret (f.eks. kill %1) eller dets PID (f.eks. kill 12345).

kill sender et signal til processen. Som standard er det SIGTERM (graceful afslutning). Hvis processen skal afsluttes med tvang, skal du bruge kill -9 %job_number eller kill -9 PID.

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

Quiz om jobstyring

Du har startet en langvarig kommando (f.eks. find / -name *.txt), men nu har du brug for din terminal tilbage, så du kan skrive en anden kommando. Hvad er den korrekte rækkefølge for at sætte find-kommandoen på pause, sende den til baggrunden, så den fortsætter med at køre, og derefter bekræfte, at den er et baggrundsjob?

Opsummering: Jobstyring

Du har fået styr på jobstyring!

  • Ctrl+Z sætter en forgrundsproces på pause.
  • jobs viser alle aktive job.
  • fg %N henter job N til forgrunden.
  • bg %N sender et stoppet job N til baggrunden.
  • Hvis du tilføjer &, kører en kommando direkte i baggrunden.
  • kill %N eller kill PID afslutter et job.

Det giver dig mulighed for effektivt at administrere flere opgaver i én terminalsession!

Gratis at komme i gang

Lær Intensiv DevOps-uddannelse med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
142
Lektioner
568

Ofte stillede spørgsmål

Er lektionen “Jobstyring (bg, fg, jobs)” gratis?

Ja — alle 3 lektioner i læringssporet Intensiv DevOps-uddannelse, inklusive “Jobstyring (bg, fg, jobs)”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Intensiv DevOps-uddannelse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Jobstyring (bg, fg, jobs)”?

Bliv fortrolig med at administrere baggrunds- og forgrundsprocesser, sætte jobs på pause, genoptage dem og vise dem i Deres shell-session. Du øver dig i Intensiv DevOps-uddannelse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Intensiv DevOps-uddannelse?

Der kræves ingen tidligere erfaring. Intensiv DevOps-uddannelse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Jobstyring (bg, fg, jobs)”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Intensiv DevOps-uddannelse-lektion?

Ja. Alle Intensiv DevOps-uddannelse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Jobstyring (bg, fg, jobs)
  2. Shell-udvidelse og globbing
  3. Aliaser og brugerdefinerede prompts
  4. Shell-funktioner og genanvendelige kodestumper
← Tilbage til Intensiv DevOps-uddannelse