Cosa fa#
Permettono di gestire piu' processi nella stessa sessione shell senza aprire nuovi terminali. Un job puo' girare in foreground (occupa il terminale), in background (gira liberamente), o essere sospeso (fermo, in attesa di essere ripreso).
Sintassi#
jobs / fg [%n] / bg [%n] / comando &
Comandi essenziali#
| Comando | Flag | Significato flag | Cosa fa |
|---|---|---|---|
jobs | — | — | Lista i job sospesi o in background con numero |
jobs -l | -l | long | Mostra anche il PID di ogni job |
fg | — | — | Riporta l'ultimo job in foreground |
fg %1 | %1 | job number 1 | Riporta il job numero 1 in foreground |
bg %1 | %1 | job number 1 | Riprende il job numero 1 in background |
comando & | & | background | Lancia il comando direttamente in background |
CTRL+Z | — | — | Sospende il processo in foreground (invia SIGSTOP) |
CTRL+C | — | — | Termina il processo in foreground (invia SIGINT) |
Il ciclo di vita di un job#
# 1. Lanci un processo — occupa il terminale (foreground)
ping google.com
# 2. CTRL+Z — sospendi il processo
# [1]+ Stopped ping google.com
# 3. Vedi lo stato
jobs
# [1]+ Stopped ping google.com
# 4a. Riprendi in foreground — terminale occupato
fg %1
# 4b. Riprendi in background — terminale libero
bg %1
# [1]+ ping google.com &
# 5. Lancia direttamente in background senza passare da foreground
ping google.com &
# [2] 5023nice e renice — priorita' CPU#
Il valore nice controlla la priorita' di un processo nella coda CPU. Va da -20 (massima priorita') a +19 (minima priorita'). Default: 0. Solo root puo' aumentare la priorita' (valori negativi).
| Comando | Flag | Significato flag | Cosa fa |
|---|---|---|---|
nice -n 10 cmd | -n | niceness value | Lancia cmd con priorita' bassa (+10) |
sudo nice -n -10 cmd | -n | niceness value | Lancia cmd con priorita' alta (-10), richiede sudo |
renice -n 19 PID | -n | niceness value | Abbassa la priorita' di un processo gia' in esecuzione |
sudo renice -n -5 PID | -n | niceness value | Aumenta la priorita' (richiede sudo) |
# Backup che non rallenta il sistema durante l'orario lavorativo
nice -n 19 tar -czf backup.tar.gz /var/log/ &
# Processo critico che deve avere precedenza sulla CPU
sudo nice -n -10 processo-criticoCombinazioni utili#
# Script di monitoring in background — libero di usare il terminale
python3 monitor.py &
# Vedi PID e stato di tutti i job
jobs -l
# Riporta il monitor in foreground quando serve leggere l'output
fg %1
# Termina un job per numero senza cercare il PID
kill %1Scenario Reale#
Durante un'analisi su una VM Ubuntu, un analista lancia uno script di detection in background con python3 failed_logins.py & e continua a navigare i log con journalctl -f nel terminale libero. Quando vuole vedere i risultati dello script, usa fg %1. Questo flusso evita di aprire una seconda sessione SSH solo per monitorare l'output.
Dove l'ho usato#
- linux-processes — contesto teorico su foreground e background
Note personali#
kill %1 usa il numero del job, non il PID. E' piu' comodo di kill PID quando sei gia' dentro jobs e vedi i numeri.
Collegato a#
- system — categoria
- kill — per terminare i job (
kill %1) - linux-processes — concetto teorico
- standard-streams — i job in background ereditano stdout e stderr


