Polecenie Nohup w Linuksie
Po wyjściu z powłoki systemu Linux, wszystkie uruchomione procesy są zwykle zakończone lub zawieszone. Co więc zrobić, jeśli nadal chcesz, aby procesy działały nawet poza powłoką / terminalem? Tutaj pojawia się komenda nohup.
polecenie Nohup
Nohup, skrót od no hang up jest poleceniem w systemach Linux, które utrzymuje procesy uruchomione nawet po wyjściu z powłoki lub terminala.,
Nohup uniemożliwia procesom lub zadaniom odbiór sygnału SIGHUP (Signal Hang UP). Jest to sygnał, który jest wysyłany do procesu po zamknięciu lub wyjściu z terminala. W tym przewodniku przyjrzymy się poleceniu nohup i pokażemy, w jaki sposób można go użyć.,
składnia polecenia Nohup
składnia polecenia Nohup jest następująca;
nohup command arguments
lub
nohup options
zobaczmy, jak Komenda wchodzi w grę
sprawdzanie wersji Nohup
możesz rozpocząć od sprawdzania wersji nohup za pomocą poniższej składni
nohup --version
wyjście
uruchamianie procesu za pomocą nohup
Jeśli chcesz, aby twoje procesy/zadania działały, poprzedź polecenie nohup
, jak pokazano poniżej., Zadania będą nadal działać w powłoce i nie zostaną zabite po wyjściu z powłoki lub terminala., wybierz przekierowanie do innego pliku, Jak pokazano
nohup ./hello.sh > output.txt
Po raz kolejny, aby wyświetlić plik, uruchom
cat output.txt
Wyjście
aby przekierować do pliku i do standardowego błędu i wyjścia, użyj atrybutu > filename 2>&1
jak pokazano
nohup ./hello.sh > myoutput.txt >2&1
wyjście
uruchamianie procesu w tle za pomocą nohup
aby uruchomić proces w tle, użyj symbolu&
na końcu polecenia., W tym przykładzie pingujemy google.com i wysyłanie go w tło.,
Wyjście
aby sprawdzić proces podczas wznawiania powłoki, użyj polecenia pgrep
jak pokazano
pgrep -a ping
Wyjście
jeśli chcesz zatrzymać lub zabić uruchomiony proces, użyj polecenia kill
, a następnie ID procesu, jak pokazano
kill 2565
output
podsumowanie
- wszystkie procesy uruchamiane przy użyciu polecenia nohup ignorują sygnał SIGHUP nawet po wyjściu z powłoki.,
- Po uruchomieniu lub wykonaniu zadania przy użyciu polecenia nohup, stdin nie będzie dostępne dla użytkownika.
- domyślnie,
nohup.out
jest używany jako domyślny plik dla stdout i stderr.
Leave a Reply