Attention
Cet article a été publié il y a plus d'un an, il peut y avoir des développements été.
S'il vous plaît prendre en compte.
Aujourd'hui, nous parlons screen
: une petite ligne de commande de service pour les systèmes Linux.
Écran, tout simplement, è in grado di moltiplicare i terminali a nostra disposizione, de sganciare un terminale dal proprio processo e di mantenere il processo attivo in background (en retournant le terminal pour une utilisation).
Screen è particolarmente utile quando si lancia un comando che prevede un tempo di risposta piuttosto lungo (ad esempio un backup) sia esso lanciato in locale o su un server remoto. Il timeout del server o il kill involontario da parte dell’utente potrebbe provocare l’interruzione del comando e vanificare il tempo speso.
Ma vediamo come funziona:
screen | avvia screen e restituisce la shell |
screen + comando | avvia il programma “comando” à l'intérieur “écran” |
Una volta avviato “screen “ | |
“ctrl+a ” e poi “c “ | crea un nuovo terminale |
“ctrl+a ” e poi “n “ | passa al terminale seguente |
“ctrl+a ” e poi “p “ | passa al terminale precedente |
“ctrl+a ” e poi “d “ | “sgancia” screen dalla sessione |
Una volta sganciati dalla sessione possiamo terminare il tunnelling SSH o chiudere il terminale. Il programma continuerà ad essere eseguito in background.
Per recuperare una sessione precedente occorrerà “riagganciarsi”:
screen -list | elenca tutte le sessioni avviate |
screen -r | recupera una sessione avviata in precedenza |
Qui sotto uno esempio del terminale con due sessioni “sganciate” di screen.
~$ screen -d
There are screens on:
16268.pts-3.joe-desktop (01/12/2019 20:58:09) (Detached)
23799.pts-4.joe-desktop (01/12/2019 16:30:08) (Detached)
There is no screen to be detached.
~$
Pour “riagganciarsi” a una sessione specifica basterà specificare il PID. Nel nostro caso “screen -r 16268
“.
Per cancellare uno screen questo è il comando: screen -X -S {PID della sessione} kill
.
0 commentaires