Jak używać Nohup w Linux

Jak używać Nohup w Linux
Wyobraź sobie, że w systemie działa krytyczny proces i zajmuje dużo czasu. Nagle musisz wylogować się ze swojego systemu. Jeśli wylogujesz się, twoje procesy zatrzymają się i na pewno będziesz chciał tego uniknąć. Jeśli chcesz, aby Twój proces uruchamiania był kontynuowany bez żadnej przerwy, potrzebujesz polecenia Nohup.

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.