Mi sono connesso al mio server tramite SSH e ho creato un processo, ma all'improvviso la mia connessione Internet è stata disconnessa. So che il processo è in corso, ma come è possibile ripristinare la sessione precedente per vederne l'avanzamento?
Mi sono connesso al mio server tramite SSH e ho creato un processo, ma all'improvviso la mia connessione Internet è stata disconnessa. So che il processo è in corso, ma come è possibile ripristinare la sessione precedente per vederne l'avanzamento?
Risposte:
Come suggerito sopra, in futuro è possibile utilizzare lo schermo per impedire tale cosa. Una breve spiegazione su come usare lo schermo:
screen -S compiling_stuff
./configure
screen -r comp
CTRL+A+D
In bocca al lupo
screen
è il migliore per avviare un comando in un terminale che verrà mantenuto quando ci si disconnette da esso (o di proposito, ctrl + annuncio, o perché la connessione si interrompe, ecc.).
TUTTAVIA PUOI ricollegare un processo in esecuzione (es: la shell della sessione in esecuzione, se ancora in esecuzione) al tuo terminale corrente (cioè ricollegare stdin, stdout, tastiera, ma anche fare del nuovo terminale il terminale di controllo per quello processo) utilizzando: reptyr
Per il meglio dei due mondi: installa screen
, avvialo, quindi ricollega il processo in quelle sessioni dello schermo con reptyr
^^
Ho pensato di menzionare http://mosh.mit.edu/
Applicazione terminale remota che consente il roaming, supporta la connettività intermittente e fornisce l'eco locale intelligente e la modifica della linea delle sequenze di tasti dell'utente.
Mosh è un sostituto di SSH. È più robusto e reattivo, soprattutto tramite collegamenti Wi-Fi, cellulari e interurbani.
Utilizzare screen
via ssh per riconnettersi successivamente alla sessione.
Per quanto ne so, non c'è modo di riconnettersi a una sessione SSH chiusa.
Posso raccomandare Byobu :
Byobu è un miglioramento per i multiplexer terminali GNU Screen o tmux che può essere utilizzato per fornire notifiche o stato sullo schermo, nonché la gestione multi-finestra a schede. Ha lo scopo di fornire una migliore esperienza utente per le sessioni del terminale durante la connessione a server remoti.
Consiglierei di usare tmux :
È possibile ripristinare la sessione di tmux tramite tmux attach
.
tmux è un'applicazione software che può essere utilizzata per il multiplexing di diverse console virtuali, consentendo all'utente di accedere a più sessioni di terminale separate all'interno di una singola finestra di terminale o sessione di terminale remoto. È utile per gestire più programmi da un'interfaccia a riga di comando e per separare i programmi dalla shell Unix che ha avviato il programma. [1] Fornisce molte delle stesse funzioni di GNU Screen, ma è distribuito con una licenza BSD.