28 Oct

Come mantenere i processi in esecuzione dopo la chiusura della sessione ssh?

Spesso mi trovo a dover dare comandi attraverso SSH ad alcune macchine Ubuntu. Questi processi spesso durano molto tempo per cui ho cercato alcune soluzioni. Una è l’installazione di NX Nomachine Server e l’utilizzo di tmux che secondo me si adatta meglio a questa soluzione.

Di seguito una piccola guida a tmux che mi serve anche da promemoria.

Caratteristiche:

  • La finestra della session SSH può essere spostata tra sessione e anche legata a più sessioni
  • La finestra può essere divisa orizzontalmente e verticalmente in riquadri
  • Supporto per UTF-8 e 256 terminali a colori
  • Le sessioni possono essere controllate da Shell , senza la necessità di creare una nuova sessione

Funzionalità di base

 

  • Creare una connessione ssh nella macchina remota
  • Avviare Tmux digitando tmux nella Shell di comando (Per installare su Ubuntu: sudo apt-get install tmux)
  • avviare il processo che si desidera all’interno della sessione tmux iniziatoa come se fosse una Shell di comando “tradizionale”
  • lasciare / staccare la sessione tmux digitando Ctrl – B e successivamente D

Ora si può tranquillamente disconnettersi dalla macchina remota , il processo continuerà a girare dentro Tmux . Quando ci si riconnette di nuovo e si vuole controllare lo stato del vostro processo è possibile utilizzare tmux attach per allegare alla sessione tmux .

Se si desidera avere sessioni multiple in esecuzione contemporanee è necessario denominare ogni sessione utilizzando Ctrl – B e $ . È possibile ottenere un elenco delle sessioni in esecuzione usando tmux list-sessions.

Per maggiori informazioni potete dare un occhiata al sito ufficiale di Tmux.