Połączyłem się z moim serwerem za pośrednictwem SSH i utworzyłem proces, ale nagle moje połączenie internetowe zostało rozłączone. Wiem, że proces trwa, ale jak przywrócić poprzednią sesję, aby zobaczyć jej postęp?
Połączyłem się z moim serwerem za pośrednictwem SSH i utworzyłem proces, ale nagle moje połączenie internetowe zostało rozłączone. Wiem, że proces trwa, ale jak przywrócić poprzednią sesję, aby zobaczyć jej postęp?
Odpowiedzi:
Jak sugerowano powyżej, w przyszłości możesz użyć ekranu, aby temu zapobiec. Krótkie wyjaśnienie dotyczące korzystania z ekranu:
screen -S compiling_stuff
./configure
screen -r comp
CTRL+A+D
Powodzenia
screen
najlepiej jest uruchomić polecenie w terminalu, które będzie przechowywane po rozłączeniu się z nim (celowo, ctrl + reklama lub ponieważ połączenie umrze itp.).
JEDNAK MOŻESZ ponownie dołączyć działający proces (np. Powłokę uruchomionej sesji, jeśli nadal działa) do bieżącego terminala (tj. Ponownie podłączyć standardowe wejście, standardowe wyjście, klawiaturę, ale także ustawić nowy terminal jako terminal sterujący dla tego proces) przy użyciu: reptyr
Najlepsze z obu światów: zainstaluj screen
, uruchom, a następnie ponownie dołącz ten proces do sesji ekranowych za pomocą reptyr
^^
Pomyślałem, że wspomnę o http://mosh.mit.edu/
Aplikacja zdalnego terminala, która umożliwia roaming, obsługuje przerywane połączenia oraz zapewnia inteligentne lokalne echo i edycję linii klawiszy użytkownika.
Mosh zastępuje SSH. Jest bardziej niezawodny i responsywny, szczególnie w przypadku połączeń Wi-Fi, komórkowych i dalekobieżnych.
Użyj screen
via ssh, aby ponownie połączyć się później z sesją.
O ile wiem, nie ma możliwości ponownego połączenia się z zamkniętą sesją ssh.
Mogę polecić Byobu :
Byobu jest rozszerzeniem dla terminalowych multiplekserów GNU Screen lub tmux, które można wykorzystać do zapewnienia powiadomienia na ekranie lub statusu, a także zarządzania wieloma okienkami na kartach. Ma on na celu zapewnienie lepszej jakości obsługi sesji terminalowych podczas łączenia się ze zdalnymi serwerami.
Poleciłbym użyć tmux :
Możesz przywrócić sesję tmux poprzez tmux attach
.
tmux to aplikacja, która może być używana do multipleksowania kilku wirtualnych konsol, umożliwiając użytkownikowi dostęp do wielu oddzielnych sesji terminali w jednym oknie terminala lub sesji terminalu zdalnego. Jest przydatny do obsługi wielu programów z interfejsu wiersza poleceń oraz do oddzielania programów od powłoki uniksowej, która je uruchomiła. [1] Zapewnia wiele takich samych funkcji jak GNU Screen, ale jest rozpowszechniany na licencji BSD.