Odpowiedzi:
Znalazłem tę odpowiedź na błąd serwera od Earl :
Jednak w przypadku rzeczywistego problemu możesz spróbować jeszcze raz: po uruchomieniu pracy z terminala zrób to w tle, pisząc ctrl- za następnie
bg
.
Po tym, odłącz od niego pracy w macierzystej Shell - wbash
:disown -h %<jobid>
. Następnie możesz bezpiecznie zamknąć terminal, a zadanie będzie kontynuowane.
I to z tego samego pytania Roba Wellsa :
$ screen -S my_process
$ retty $(pgrep my_process)
/redraw
Znaleziono duplikat w ServerFault .
Innym rozwiązaniem, którego nie znaleziono w tym poście, jest użycie retty po rozpoczęciu sesji ekranowej.
Spójrz na reptyr , który właśnie to robi. Strona github zawiera wszystkie informacje.
reptyr - narzędzie do „ponownego wpisywania”
programy.
reptyr to narzędzie do pobierania istniejącego programu i dołączania go do nowego terminala. Rozpoczął długotrwały proces nad ssh, ale musisz odejść i nie chcesz go przerywać? Po prostu uruchom ekran, użyj reptyr, aby go złapać, a następnie zabij sesję ssh i idź do domu.
STOSOWANIE
reptyr PID
„reptyr PID” pobierze proces o identyfikatorze PID i załączy go do bieżącego terminala.
Po dołączeniu proces pobierze dane wejściowe i zapisze dane wyjściowe w nowym terminalu, w tym ^ C i ^ Z. (Niestety, jeśli będziesz to robił w tle, nadal będziesz musiał uruchomić „bg” lub „fg” w starym terminalu. Prawdopodobnie nie jest to możliwe do naprawienia w rozsądny sposób bez łatania powłoki).