Lezioni del modulo (2/2)
Job control e log (bg, fg, tail)
Quando utilizzi il terminale, potresti voler eseguire un comando a lungo termine senza bloccare la shell. Linux supporta il controllo dei lavori (Job Control), che ti permette di inviare processi in background ed alternarli con il primo piano. Inoltre, imparerai a monitorare i log per controllare cosa succede sul sistema.
Eseguire Comandi in Background: & e jobs
Per avviare un comando direttamente in background (rilasciando subito il controllo del terminale), si aggiunge il carattere & (e commerciale) alla fine del comando:
sleep 1000 &Questo comando restituisce un numero di job (es. [1]) e un PID.
Elencare i Job: jobs
Il comando jobs elenca i processi attivi associati alla sessione corrente della shell che sono in esecuzione in background o sospesi:
jobsSpostare i Processi: fg, bg e Ctrl+Z
Se un comando è in esecuzione in primo piano (foreground) e sta bloccando il terminale, puoi:
- Premere
Ctrl + Zper sospendere (mettere in pausa) il processo corrente. - Usare il comando
bg(background) per far ripartire il processo sospeso in background:Bashbg %1 # Riavvia il job 1 in background - Usare il comando
fg(foreground) per riportare un processo in background in primo piano:Bashfg %1 # Riporta il job 1 in primo piano
Monitorare i Log: tail e journalctl
I log di sistema e delle applicazioni registrano eventi importanti. Spesso è necessario osservare questi file in tempo reale man mano che vengono scritti.
Visualizzare la fine di un file: tail
Il comando tail mostra le ultime righe di un file (di default 10 righe):
tail /var/log/syslog
tail -n 20 /var/log/syslog # Mostra le ultime 20 righePer monitorare un file in tempo reale (ad esempio per vedere i log generati mentre testi un'applicazione), usa l'opzione -f (follow):
tail -f logs/server.logProva tu
Esercizio 1: Elenca i job attivi
Visualizza la lista dei job correnti (processi in background o sospesi) nella sessione del terminale usando il comando 'jobs'.
Mostra suggerimento
Usa semplicemente il comando 'jobs'.
Soluzione disponibile dopo 3 tentativi
Esercizio 2: Porta un job in primo piano
Porta in primo piano (foreground) il job in background correntemente attivo usando il comando 'fg'.
Mostra suggerimento
Usa il comando 'fg' per riportare il job in primo piano.
Soluzione disponibile dopo 3 tentativi
Esercizio 3: Controlla le ultime righe di un log
Visualizza le ultime righe del file di log situato in 'logs/server.log' usando il comando 'tail'.
Mostra suggerimento
Usa 'tail' seguito dal percorso del file: 'logs/server.log'.
Soluzione disponibile dopo 3 tentativi