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.