Mam skrypt bash, którego uruchomienie zajmuje kilka godzin. Podczas działania chciałbym robić inne rzeczy, które mogą wymagać wylogowania lub odłączenia się od Internetu (mój skrypt uruchamia testy sieciowe na różnych komputerach).
Rozumiem, że istnieje polecenie, które pozwoliłoby mi uruchomić testy ze zdalnego terminala i wylogować się z terminala podczas jego działania. Czy ktoś wie, co to za polecenie?
bash
ssh
remote-desktop
process
Ritwik Bose
źródło
źródło
Używam
nohup
do tego. W moim przypadku miałem skrypt python o nazwieaction.py
Uruchomiłem skrypt na zdalnym serwerze, anohup python action.py &
następnie zamknąłem terminal. Później, gdy zakończy działanie, możesz zobaczyć wszystkie dane wyjściowe z procesu, wnohup.out
którym zostaną utworzone w tym samym katalogu, coaction.py
. Jeśli plik już istnieje, zostaną do niego dołączone dalsze dane wyjściowe.Jedyną przeszkodą jest nie wiedzieć, kiedy skrypt się skończył, więc w moim przypadku kazałem mu wysłać wiadomość e-mail po zakończeniu. Mam nadzieję, że to komuś pomogło!
źródło
Co się stanie, jeśli zapomnisz dodać
nohup
polecenie na początku swojego polecenia?Powiedzmy, że uruchomiłeś następujące długie polecenie:
Jest to nazywane, ponieważ
ls -Ral /
powinno zawierać listę wszystkich plików i wszystkich folderów, w tym ukrytych, z długim formatem, rekurencyjnie, zaczynając od folderu głównego. To może chwilę potrwać.Po prostu naciśnij ctrl+ Z.
Jak go odzyskać?
Polecenie odzyskania go z powrotem na pierwszym planie to
fg
.źródło