uniemożliwić uruchamianie polecenia na komputerze zdalnym po rozłączeniu

1

Załóżmy, że ssh do zdalnego komputera i uruchom to ping www.google.com, kiedy się rozłączę, to się zatrzyma.

Czy mimo to mogę się zalogować, uruchomić polecenie, wylogować się / odłączyć, ale nadal uruchamiać polecenie?

user413390
źródło
Możesz pozwolić mu działać w tle, dodając & amp; na końcu polecenia, np. ping www.google.com i amp;
Darius

Odpowiedzi:

1

Zwykłą metodą jest użycie

 nohup command >log 2>error-log &

Musisz otoczyć proces (i amp;) i upewnić się, że nie rozłączy się, próbując pisać wiadomości do terminala. Nohup upewnia się, że nie otrzyma sygnałów (takich jak SIGHUP), gdy proces nadrzędny (sesja terminalowa) zostanie zamknięty.

Przy okazji, jeśli przeczytasz stronę podręcznika ping, zobaczysz, że pozostawienie go w takim stanie jest uważane za zły pomysł.

   This  program  is  intended for use in network testing, measurement and
   management.  Because of the load it can impose on the  network,  it  is
   unwise  to use ping during normal operations or from automated scripts.
RedGrittyBrick
źródło
Dzięki! Czytałem o pingu. Ale chodziło mi tylko o to, że mam polecenie, które musi działać przez długi czas, ale które nie wymagają wprowadzania danych przez użytkownika / opieki nad dziećmi. Nie można wymyślić lepszego przykładu, więc wybrałem ping ...
user413390
0

screen i tmux może utrzymywać rozłączone sesje.

będą działały na ptetty dużo wszystkiego, co akceptuje połączenia SSH (nie powiedziałeś, jaki system operacyjny) ale są to opcjonalne pakiety, więc możesz je zainstalować.

user313114
źródło
Jeśli jest to proste polecenie i uruchamiasz je ręcznie, w większości przypadków możesz po prostu umieścić znak ampersand (i amp;). Lubię: „ping 8.8.8.8 i”;
SadBunny