Passer au contenu principal
eLearner.app
Module 5 · Leçon 2 sur 211/11 dans le cours~15 min
Leçons du module (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:

Bash
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:

Bash
jobs

Spostare i Processi: fg, bg e Ctrl+Z

Se un comando è in esecuzione in primo piano (foreground) e sta bloccando il terminale, puoi:

  1. Premere Ctrl + Z per sospendere (mettere in pausa) il processo corrente.
  2. Usare il comando bg (background) per far ripartire il processo sospeso in background:
    Bash
    bg %1   # Riavvia il job 1 in background
  3. Usare il comando fg (foreground) per riportare un processo in background in primo piano:
    Bash
    fg %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):

Bash
tail /var/log/syslog
tail -n 20 /var/log/syslog    # Mostra le ultime 20 righe

Per monitorare un file in tempo reale (ad esempio per vedere i log generati mentre testi un'applicazione), usa l'opzione -f (follow):

Bash
tail -f logs/server.log

Prova tu

Esercizio 1: Elenca i job attivi

Exercice#linux.m5.l2.e1
Tentatives : 0Chargement…

Visualizza la lista dei job correnti (processi in background o sospesi) nella sessione del terminale usando il comando 'jobs'.

Chargement de l'éditeur…
Afficher l'indice

Usa semplicemente il comando 'jobs'.

Solution disponible après 3 tentatives

Esercizio 2: Porta un job in primo piano

Exercice#linux.m5.l2.e2
Tentatives : 0Chargement…

Porta in primo piano (foreground) il job in background correntemente attivo usando il comando 'fg'.

Chargement de l'éditeur…
Afficher l'indice

Usa il comando 'fg' per riportare il job in primo piano.

Solution disponible après 3 tentatives

Esercizio 3: Controlla le ultime righe di un log

Exercice#linux.m5.l2.e3
Tentatives : 0Chargement…

Visualizza le ultime righe del file di log situato in 'logs/server.log' usando il comando 'tail'.

Chargement de l'éditeur…
Afficher l'indice

Usa 'tail' seguito dal percorso del file: 'logs/server.log'.

Solution disponible après 3 tentatives