Nohup (stoi na brak zawieszenia) to polecenie, które ignoruje sygnał HUP. Być może zastanawiasz się, jaki jest sygnał HUP. Jest to w zasadzie sygnał dostarczany do procesu po zakończeniu powiązanej powłoki. Zwykle po wylogowaniu się, wszystkie uruchomione programy i procesy są wieszane lub zatrzymane. Jeśli chcemy kontynuować uruchamianie procesu nawet po wylogowaniu lub odłączeniu od bieżącej powłoki, możemy użyć polecenia Nohup. To sprawia, że procesy odporne na sygnały HUP, aby program działał nawet po wylogowaniu. Z Nohup nie będziesz już musiał się logować przez długi czas, aby poczekać na zakończenie procesu.
W tym artykule wyjaśnimy, jak używać polecenia Nohup w różnych scenariuszach w Linux.
Składnia polecenia Nohup
Aby użyć polecenia Nohup, składnia to:
$ nohup argumenty poleceń
Lub
$ NOHUP Opcje
Aby znaleźć pomoc dotyczącą polecenia Nohup, użyj następującego polecenia:
$ nohup - -Help
Aby znaleźć informacje o wersji NOHUP, użyj następującego polecenia:
$ nohup --version
Rozpocznij proces za pomocą NOHUP
Jeśli chcesz utrzymać działanie polecenia lub procesu, nawet jeśli wychodzisz z powłoki, użyj Nohup, a następnie polecenie do wykonania:
$ nohup polecenie
Po uruchomieniu powyższego polecenia wszystkie dane wyjściowe wraz z komunikatami o błędach zostaną dodane do Nohup.Plik w katalogu domowym lub w bieżącym katalogu. Teraz, jeśli powłoka jest zamknięta lub wylogujesz się, powyższe polecenie nie zostanie zakończone.
Przekieruj wyjście do innego pliku
Domyślnie do NOHUP dodaje się wyjście polecenia Nouhup.plik. Aby przekierować to wyjście do innego pliku, użyj> operatora przekierowania, a następnie nazwa określonego pliku. Na przykład użyliśmy następującego polecenia, aby zapisać dane wyjściowe polecenia Nohup do nowego pliku o nazwie „MyScript.cii".
$ sudo nohup ./Mn.sh> myStipt.cii &
Rozpocznij proces w tle za pomocą Nohup
Aby rozpocząć i umieścić proces w tle, musisz użyć NOHUP w następujący sposób:
$ nohup polecenie i
I Symbol mówi powłoce, aby uruchomiła polecenie w tle. Jest podobny do powyższego polecenia Nohup, z tym wyjątkiem, że po zakończeniu sesji zwraca się natychmiast do podpowiedzi powłoki. Aby przywrócić go do czołowego, użyj polecenia „FG”.
Wyjście wszystkich wykonanych poleceń zostanie dołączone do NOHUP.plik. Możesz wyświetlić ten plik za pomocą polecenia CAT Nohup w terminalu. Numer 80132 W powyższym zrzucie ekranu wskazuje numer identyfikacji procesu (PID) procesu działającego w tle.
Rozpocznij wiele procesów w tle za pomocą NOHUP
Możesz uruchomić wiele poleceń w tle za pomocą polecenia NOHUP. W poniższym przykładzie polecenia MKDIR, Ping i LS są wykonywane w tle za pomocą polecenia Nohup.
$ nohup bash -c 'mkdir pliki &&
ping -c 1 Google.com && ls '> wyjście.tekst
Zakończyć proces działający w tle
Aby zakończyć proces działający w tle, użyj polecenia Kill w następujący sposób:
$ zabójcy -9 pid
Znajdziesz PID procesu podczas korzystania z NOHUP z „&”. Innym sposobem na znalezienie PID jest polecenie pgrep -a. Na przykład, jeśli uruchomisz polecenie ping z NOHUP, będzie działać w tle, nawet jeśli zamkniesz skorupę. Teraz w tym przypadku, aby znaleźć PID procesu pingowego działającego w tle, użyj tego polecenia:
$ pgrep -a ping
Wymieści wszystkie procesy powiązane z poleceniem ping.
Teraz, aby zakończyć proces ping działający w tle, użyj polecenia Kill w następujący sposób: $ Kill -9 80928So, było to krótkie wprowadzenie polecenia Nohup w Linux. Polecenie NOHUP służy do zapobiegania zakończeniu ważnego procesu po wylogowaniu lub zamknięciu sesji. Bardzo pomaga podczas uruchamiania procesu, zwłaszcza skrypty, które zajmują dużo czasu.