#howto - Utilizzo del comando 'screen

Scritto da il
Redatto da

Sono diverse le circostanze in cui screen viene in nostro soccorso, dimostrandosi uno degli strumenti piu utili.

Dobbiamo eseguire un processo che rimanga sempre in esecuzione? Avete per sbaglio chiuso la vostra sessione interrompendo il vostro processo di Dotnet?

Con questo comando questi problemi scompariranno in un batter d’occhio, vediamo quindi come funziona.

Sintassi

La sintassi di screen è la seguente

screen [opzioni]

sfruttando la flag –help riceviamo come output la lista completa delle opzioni disponibili. Possiamo inoltre avere accesso tutti i comandi disponibili, digitiamo in sequenza CTRL+A e poi ?.

Utilizzo del comando

Digitiamo semplicemente il comando per aprire subito una nuova sessione:

screen

da ora ogni comando verrà eseguito nella sessione controllata da screen.

Nome sessione

Nel caso si dovessero avere più sessioni di screen, dare un nome a ciascuna aiuterebbe non poco ad organizzarle. Per iniziare una sessione con un nome sfruttiamo la flag -S:

screen -S nome_della_sessione

Uscire dalla sessione

Abbiamo avviato il nostro processo e vogliamo uscire dalla sessione senza interromperne il funzionamento. Basta semplicemente premere in sequenza CTRL+A e d. Se l’output è simile al seguente:

[detached from numerocasuale.tty1.hostname]

significa che siamo usciti correttamente dalla nostra sessione.

Riprendere una sessione

Per riprendere una sessione che abbiamo abbandonato in precedenza, viene in nostro soccorso la flag -r:

screen -r

Questo funziona se abbiamo solamente una sessione aperta. Se, come spiegato prima, ne dovessimo avere più di una, ci basterà specificare il nome dato precedentemente:

screen -r nome_della_sessione

Se non ci ricordiamo il nome della sessione o non ne abbiamo impostato uno, sfruttiamo la flag -ls:

screen -ls

per avere una lista di tutte le sessioni aperte. L’output sarà simile a questo:

There are screens on:        3225.pts-0.Senker       (05/28/2019 04:15:52 PM)        (Detached)        17302.minecraft (05/25/2019 03:02:39 PM)        (Multi, attached)2 Sockets in /run/screen/S-alex.

Per rientrare nella sessione con ID 3225, digitiamo

screen -r 3225

Log operazioni

Nel caso in cui una di queste sessioni deve rimanere in background per diverse ore, se non giorni o mesi, torna utile poter salvare in un file tutto il suo operato. Possiamo fare ciò eseguendo la seguente combinazione di tasti:

CTRL+A+H

questo creerà un file chiamato hardcopy.0, contenente tutte le operazioni effettuate in quella sessione.

history_edu Revisioni