Introduzione

Screen o GNU Screen è un programma multiplexer terminale che consente di avviare una sessione di schermate e di aprire qualsiasi numero di finestre (terminali virtuali) all'interno di quella sessione.

I processi in esecuzione nella schermata continueranno a essere eseguiti quando la loro finestra non è visibile anche se ci si disconnette.

Normalmente quando si esegue un comando su SSH se la connessione si interrompe, o si disconnette, la sessione SSH viene interrotta e tutti i comandi eseguiti dal terminale si interrompono.

Screen server per evitare l'interruzione dei comandi.

Come utilizzare Screen

Verificare se Screen è installato sul server Ubuntu:

sudo apt install screen

Se utilizzi CentOS:

sudo yum -y install screen

Una volta installato, Screen è semplice da utilizzare.
Avviare una nuova sessione utilizzando Screen.
Da console, scrivere:

screen

Avviare adesso il comando o lo script che si desidera utilizzare:

./my_script.sh

Dopo averlo avviato è possibile uscire dalla sessione senza fermare il comando.
Digitare CTRL + a + d.

Controllare le sessioni attive:

sudo screen -ls

Potresti avere diverse sessioni attive, ad esempio:

345.tt-3.host (Detached)
567.tty-1.host (Detached)
877.host (Detached)

Se si desidera riaprire una sessione specifica, specificare il numero che precede il nome della sessione:

screen -r 567

Se si desidera assegnare un nome specifico ad una sessione utilizzare il flag -S:

screen -S noviello

Quindi una volta usciti dalla sessione è possibile utilizzare il nome scelto per riaprirla:

screen -r noviello

Per maggiori informazioni:

screen -h

Se il server è ancora in esecuzione, è possibile scollegare e chiudere il terminale o disconnettersi dalla sessione SSH e accedere alla sessione dello schermo in un secondo momento, il comando non verrà terminato.

Conclusione

A questo punto dovresti avere una buona conoscenza di come usare il Screen per impedire che i comandi vengano terminati quando effettui il logout o ti disconnetti dal terminale.