Linux screen · 3 min read · Sep 15, 2025

Comando screen di Linux: Mantieni i processi in esecuzione nonostante una connessione interrotta

Immagino che lo sappiate tutti: siete connessi al vostro server tramite SSH e nel bel mezzo della compilazione di un software (ad esempio, un nuovo kernel) o di un altro compito che richiede molto tempo, e all’improvviso la vostra connessione si interrompe per qualche motivo, e perdete il vostro lavoro non completato. Questo può essere molto fastidioso, ma fortunatamente, c’è una piccola utility chiamata screen che vi consente di riattaccarvi a una sessione precedente in modo da poter completare il vostro compito. Questo breve tutorial mostra come utilizzare screen per questo scopo.

1 Installazione del comando screen

L’installazione di screen è molto semplice. Su Debian, eseguite:

apt-get install screen

Per Ubuntu, utilizzate il comando con sudo:

sudo apt-get install screen

E per Fedora, CentOS, SuSE e Mandriva ci sono anche pacchetti screen che potete installare con yum / yast / urpmi /…

Fedora e CentOS

yum install screen

2 Utilizzo del comando screen

Con screen potete creare una o più sessioni nel vostro terminale SSH attuale. Basta eseguire

screen

per avviarlo. Questo crea una sessione o finestra screen (anche se non la vedete come tale) nel vostro terminale SSH attuale:

Comando screen di Linux avviato

Premete Spazio o Invio per arrivare al prompt dei comandi:

Prompt del comando screen di Linux

Sembra il vostro normale terminale SSH, vero?

Ora descriverò i comandi screen più importanti che dovete conoscere per controllare screen. Questi comandi iniziano con CTRL a per distinguerli dai normali comandi della shell.

  • Ctrl a c - Crea una nuova sessione screen in modo da poter utilizzare più di una sessione screen contemporaneamente.
  • Ctrl a n - Passa alla n uova sessione screen (se ne utilizzate più di una).
  • Ctrl a p - Passa alla p revenuta sessione screen (se ne utilizzate più di una).
  • Ctrl a d - Scollega una sessione screen (senza terminare i processi in essa - continuano).

Per chiudere una sessione screen in cui tutti i compiti sono terminati, potete digitare

exit

Ora giochiamo un po’ con esso. Nella nostra finestra screen, eseguiamo il comando

top

Questo dovrebbe apparire così:

Comando Top in esecuzione all'interno di screen

Ora creiamo un’altra sessione screen digitando

Ctrl a c

Si apre una nuova sessione screen vuota, e lì eseguiamo

tail -f /var/log/mail.log

per avere uno sguardo continuo al nostro log della posta:

mail.log mostrato nel comando screen

Ora potete navigare tra le vostre due sessioni screen eseguendo

Ctrl a n

oppure

Ctrl a p

Per scollegare una sessione screen e tornare al vostro normale terminale SSH, digitate

Ctrl a d

Tornati al vostro normale terminale SSH, potete eseguire

screen -ls

per ottenere un elenco delle vostre sessioni screen attuali:

Ci sono schermi su:  
        2477.pts-0.server1      (Scollegato)  
        2522.pts-0.server1      (Scollegato)  
2 Socket in /var/run/screen/S-root.

Per riconnettervi a una di queste sessioni, eseguite

screen -r 2477.pts-0.server1

dove 2477.pts-0.server1 è il nome di una delle sessioni dall’output di screen -ls.

Per lasciare e terminare una sessione screen, completate tutti i compiti attuali in essa (top può essere terminato digitando q, tail -f /var/log/mail.log può essere terminato digitando CTRL c) e poi digitate

exit

Tornerete quindi a un’altra sessione screen (se ne utilizzate più di una) o al normale terminale SSH, se non ci sono più sessioni screen aperte.

Se volete saperne di più su screen, eseguite

man screen

3 La mia connessione è caduta - Cosa posso fare?

Ora supponiamo che stiate compilando un kernel in una sessione screen, qualcosa che normalmente richiede molto tempo, e all’improvviso la vostra connessione si interrompe. Grazie a screen, il vostro lavoro non è perso. Una volta che la vostra connessione è ripristinata, accedete nuovamente al vostro sistema con SSH ed eseguite

screen -ls

come mostrato nel capitolo 2. Dall’output scegliete una sessione (ad esempio 2477.pts-0.server1) e riattaccatevi ad essa:

screen -r 2477.pts-0.server1

Se avete scelto la sessione giusta, dovreste trovare il vostro kernel ancora in fase di compilazione (se non è già terminato nel frattempo) in modo da poter continuare il vostro lavoro.

4 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.