Vediamo un po’ come in linux possiamo istanziare un terminale permanente mediante screen per mantenere in esecuzione script dalla lunga esecuzione.
Problema: utilizzando il terminale di linux dovete lanciare un comando o uno script che richiederà molto tempo, ma non potete lasciar aperto il terminale o la sessione di ssh per tutte le ore o i giorni che impiegherà…
Soluzione: ci viene in aiuto il comando screen, vero e proprio “moltiplicatore di terminali” con il quale possiamo aprire una nuova sessione “virtuale” che rimarrà aperta anche quando chiuderemo la sessione corrente.
Eseguendo infatti screen seguito dal comando che si vuole lanciare, nel nostro caso direttamente la bash,
screen bash
istanzieremo la bash nel nuovo terminale virtuale dal quale potremo lanciare il nostro comando dalla lunga esecuzione.
All’interno della sessione di screen potremo compiere varie operazioni:
- premendo ctrl+a+c creeremo un nuovo terminale.
- premendo ctrl+a+n passeremo al terminale successivo.
- premendo ctrl+a+p passeremo al terminale precedente.
- premendo ctrl+a+d torniamo alla nostra sessione, mantenendo in esecuzione i comandi pendenti eseguiti in quella di screen.
Ricollegandoci in un secondo momento potremo usare il comando seguente per riaprire una precedente sessione:
screen -r 1234
Dove ovviamente 1234 è il SID della sessione che desideriamo riaprire.
Digitando “screen -r”, nel caso ci siano più sessioni attive, viene mostrato l’elenco delle sessioni e dei relativi PID.
Per killare una sessione di screen:
screen -X -S 1234 quit
Lascia un commento