Mam kilka ciężkich, długich procesów działających na zdalnych komputerach z systemem Linux. Używam laptopa do SSH na tych komputerach i uruchamiam procesy z mojej kanapy.
ALE, kiedy chcę wyłączyć laptopa, mam kłopoty, ponieważ zdalne procesy są zabijane.
Przeprowadziłem badania i odkryłem, że „ekran” to dla mnie świetne rozwiązanie! (Tak długo, jak nie wyłączam laptopa). Czy nie ma sposobu, aby „utrwalić” sesje „ekranowe”, abym mógł je zamknąć, a następnie ponownie dołączyć do sesji?
linux
ssh
gnu-screen
Sathyajith Bhat
źródło
źródło
Odpowiedzi:
Wygląda na to, że prowadzisz sesję ekranu na swoim laptopie. Następnie sshing z tej sesji ekranowej do zdalnego hosta (hostów). Wyłączenie laptopa zabije proces lokalnego ekranu, co z kolei zabije sesję ssh.
Co chcesz zrobić, to ssh z laptopa do zdalnego hosta (hostów). Następnie rozpocznij sesję ekranową na zdalnym hoście. Gdy laptop zostanie wyłączony, sesja ssh umrze, ale sesja zdalnego ekranu będzie trwała.
Następnym razem, gdy zalogujesz się do systemu zdalnego, możesz ponownie dołączyć do sesji ekranowej za pomocą „screen -r” lub jeśli masz wiele sesji ekranowych „screen -r <pid>”.
Uwaga: jeśli zapomniałeś odłączyć się od zdalnej sesji ekranowej przed zabiciem ssh, sesja ekranowa może myśleć, że nadal jest dołączona. W takim przypadku musisz najpierw wykonać polecenie screen -dr <pid>, aby najpierw odłączyć sesję.
źródło
Ctrl+A
następujeD
, gdy jesteś wscreen
będzie odłączyć sesję ekranu.Możesz użyć
nohup
do uruchomienia procesu, który będzie kontynuowany po wylogowaniu z komputera. To może być to, czego szukasz.źródło
disown
stworzyć efekt, który moim zdaniem jest równoważny.disown
to bashizm, który może, ale nie musi być dostępny na innych powłokach.nohup
. Problem^Z
polega na tym, że wstrzymuje proces. Nie ma sposobu na tło proces, ale utrzymać go bez czkawki.Jeśli odłączysz sesję zdalną
screen
, możesz bezpiecznie zamknąć laptopa.źródło
Punktem ekranu jest uruchomienie go na serwerze i odłączenie za pomocą CTRL+ A+ D.
źródło
Użyj nohup. Kolejny wybór, aby użyć VNC. Utwórz sesję VNC na serwerze. Następnie podłącz się do niego za każdym razem, gdy będziesz pracować. (Bardziej przydatne, gdy długi proces używa GUI - na przykład IDE)
źródło
Jeśli te serwery mają ILO / DRAC / Inny zdalny KVM itp., Możesz być w stanie połączyć się z konsolą i tam wchodzić w interakcje. Ponieważ zainicjowane sesje są zasadniczo lokalne, porzucenie połączenia z laptopa nic nie da.
źródło