Jeśli mvzostał uruchomiony jako:
ssh host mv x y
Następnie mvotrzyma SIGPIPE (i umrze), jeśli spróbuje napisać cokolwiek na stdout lub stderr (np. Komunikat o błędzie).
Jeśli rozpocząłeś sesję interaktywną, taką jak:
ssh host
I zaczął się mvod interaktywnej powłoki tam, kiedy strona główna pseudotermina uruchomiona przez sshdzostanie zamknięta (po sshzamknięciu połączenia TCP przy wyjściu), lider sesji powiązany z niewolniczą stroną pseudo-terminala, który jest zdalną interaktywną powłoką, otrzyma sygnał SIGHUP (rozłącz się).
Po otrzymaniu tego sygnału, powłoki (chyba że wydałeś a trap '' HUP) zazwyczaj przekazują ten sygnał do wszystkich procesów w zadaniach, które rozpoczęły, chyba że wyraźnie to powiedziałeś (nie z disownlub &|w niektórych powłokach).
Inne procesy (takie jak mv) zazwyczaj umierają po otrzymaniu tego sygnału, chyba że otrzymają polecenie zignorowania go (przez użycie nohuplub jeśli ich rodzic zignorował go).
Jeśli wydałeś:
trap '' HUP
Następnie wszystkie zadania rozpoczęte po nim odziedziczą go i zignorują SIGHUP.
Powłoka nie umrze z powodu sygnału SIGHUP wysłanego po rozłączeniu, ale opuści się przy następnym monicie, ponieważ jej standardowe wejście zniknęło. Po wyjściu niektóre pociski wysyłają SIGHUP do (nie odrzuconych) zadań. Ci, którzy zaczęli po tym trap '' HUP, zignorują to, inni umrą.
Krótko mówiąc, w takim przypadku, jeśli nie podejmiesz wcześniejszych środków ostrożności, aby tak się nie stało, mvumrzesz.
Aby tego uniknąć następnym razem, jeśli używasz tcsh, zshlub bash, przed wyłączeniem urządzenia, należy nacisnąć przycisk Ctrl-Z, aby wstrzymać mv, wprowadź bgwznowić ją w tle, i disownaby wyprzeć go.
Lub możesz użyć screenlub tmux. Po SIGHUP, one po prostu odłączą się od swojego już nieistniejącego terminala hosta, ale aplikacje uruchomione w terminalu, który emuluje, będą nadal działać bezgłowo i możesz ponownie podłączyć sesję do innego terminala, aby zobaczyć, jak mvposzło.
Lub użyj, nohup mvaby mvuodpornić się na SIGHUP, a jego wyjście i błędy trafią do nohup.outpliku, który możesz sprawdzić później.
Teraz nie wiem o twoim konkretnym dostawcy hostingu, ale z niektórymi, gdy wchodzisz sshdo instancji, nie zaczynasz tam sesji powłoki, ale raczej przyłączasz się do konsoli, czyli do sesji, która została już uruchomiona , a kiedy wychodzisz, nie kończysz tej sesji, po prostu odłącz się od niej. Więc skorupa nie zabija, ani nie mv. W takim przypadku zauważysz, że psucieczka stamtąd dałaby ci to samo piddla powłoki w dwóch oddzielnych sshsesjach.