0Pricing
Linux Command Line & Bash Scripting Mastery · Lezione

Controllo dei job (bg, fg, jobs)

Impari a gestire i processi in background e in primo piano, mettendo in pausa, riprendendo ed elencando i job nella sessione della shell.

Controllo dei job (bg, fg, jobs) è una lezione Linux Command Line & Bash Scripting Mastery gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.

Che cos’è il controllo dei job?

Benvenuto nel controllo dei job! Questa potente funzionalità della shell Linux consente di gestire i programmi in esecuzione senza chiudere il terminale né aprirne altri.

Lo si può considerare come una forma di multitasking per la riga di comando. È possibile mettere in pausa un’attività, spostarla in background o riportarla in primo piano.

Primo piano e background

Quando esegue un comando, questo viene normalmente eseguito in primo piano. Ciò significa che prende il controllo del terminale e che non può digitare nuovi comandi finché non termina.

Un processo in background, invece, viene eseguito in modo indipendente. Lascia libero il terminale, così può continuare a lavorare su altre attività mentre il processo viene eseguito.

Mettere in pausa un processo (Ctrl+Z)

Per mettere in pausa un processo in primo piano attualmente in esecuzione, usi la scorciatoia da tastiera Ctrl+Z. In questo modo invia un segnale SIGTSTP, sospendendo il processo.

Il processo non viene terminato: diventa un job «stopped», in attesa che gli indichi cosa fare.

Visualizzare i job (jobs)

Dopo aver messo in pausa un processo (o averne inviato uno in background), può visualizzare l'elenco di tutti i job attivi nella sessione corrente della shell usando il comando jobs.

Ogni job riceve un numero univoco (come [1], [2] e così via) e il relativo stato (ad esempio, Stopped o Running).

sleep 50 &
sleep 60 &
jobs

Portare in primo piano (fg)

Se ha un job sospeso o in background, può riportarlo in primo piano usando il comando fg, seguito dal numero del job (ad esempio, %1).

In questo modo il job torna a essere il processo attivo nel terminale.

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

Inviare in background (bg)

Per riprendere un job stopped e inviarlo in background, usi il comando bg con il relativo numero del job.

Il processo continuerà a essere eseguito senza bloccare il terminale e il prompt sarà nuovamente disponibile immediatamente.

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

Eseguire in background ( & )

Non è sempre necessario avviare un processo in primo piano e poi metterlo in pausa. Può avviare un comando direttamente in background aggiungendo una e commerciale (&) alla fine del comando.

È particolarmente utile per le attività di lunga durata con cui non deve interagire.

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

Numeri dei job e PID

Quando usa jobs, visualizza numeri di job come [1] e [2]. Questi numeri sono specifici della sessione della shell.

Ogni processo in esecuzione ha anche un Process ID (PID) univoco, ovvero un numero valido a livello di sistema. Può visualizzare i PID con jobs -l o ps.

sleep 100 &
jobs -l

Terminare i job (kill)

Per terminare un job in background o sospeso, può usare il comando kill. Può specificare il numero del job (ad esempio, kill %1) oppure il relativo PID (ad esempio, kill 12345).

kill invia un segnale al processo. Per impostazione predefinita, il segnale è SIGTERM (terminazione regolare). Per una terminazione forzata, usi kill -9 %job_number o kill -9 PID.

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

Quiz sul controllo dei job

Ha avviato un comando di lunga durata (ad esempio, find / -name *.txt), ma ora ha bisogno di riottenere il terminale per digitare un altro comando. Qual è la sequenza corretta per mettere in pausa il comando find, inviarlo in background in modo che continui a essere eseguito e poi verificare che sia un job in background?

Riepilogo: controllo dei job

Ha imparato a gestire i job.

  • Ctrl+Z mette in pausa un processo in primo piano.
  • jobs elenca tutti i job attivi.
  • fg %N porta il job N in primo piano.
  • bg %N invia il job sospeso N in background.
  • Aggiungendo &, esegue direttamente un comando in background.
  • kill %N o kill PID termina un job.

In questo modo può gestire più attività in modo efficiente all'interno di un'unica sessione del terminale.

Domande Frequenti

La lezione «Controllo dei job (bg, fg, jobs)» è gratuita?

Sì — il testo completo di «Controllo dei job (bg, fg, jobs)» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.

Cosa imparerò in «Controllo dei job (bg, fg, jobs)»?

Impari a gestire i processi in background e in primo piano, mettendo in pausa, riprendendo ed elencando i job nella sessione della shell. Eserciti Linux Command Line & Bash Scripting Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Linux Command Line & Bash Scripting Mastery?

Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Controllo dei job (bg, fg, jobs)»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Linux Command Line & Bash Scripting Mastery?

Sì. Ogni lezione Linux Command Line & Bash Scripting Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Controllo dei job (bg, fg, jobs)
  2. Espansione della shell e globbing
  3. Alias e prompt personalizzati
  4. Funzioni della shell e snippet riutilizzabili
← Torna a Linux Command Line & Bash Scripting Mastery