Using nohup to allows jobs to continue on logout
Spisu treści:
- Jak korzystać z polecenia nohup
- Uruchamianie polecenia w tle
- Przekierowanie danych wyjściowych do pliku
- Alternatywy
- Ekran
- Tmux
- Zapierać się
- Wniosek
Komenda
nohup
wykonuje inny program określony jako argument i ignoruje wszystkie sygnały
SIGHUP
(rozłączenia).
SIGHUP
to sygnał wysyłany do procesu, gdy jego terminal sterujący jest zamknięty.
Zwykle po uruchomieniu programu przez SSH, jeśli połączenie zostanie zerwane lub wylogujesz się, sesja zostanie zakończona, a wszystkie procesy wykonane z terminala zostaną zatrzymane. Tutaj przydaje się polecenie
nohup
. Ignoruje wszystkie sygnały zawieszenia, a proces będzie kontynuowany.
Jak korzystać z polecenia nohup
Składnia polecenia
nohup
jest następująca:
nohup COMMAND
Polecenie nie akceptuje żadnych innych opcji oprócz standardowego
--help
i
--version
.
Rzućmy okiem na następujący przykład:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
uruchamia polecenie
mycommand
na pierwszym planie i przekierowuje dane wyjściowe polecenia do pliku
nohup.out
. Ten plik jest tworzony w bieżącym katalogu roboczym. Jeśli użytkownik uruchamiający polecenie nie ma uprawnień do zapisu w katalogu roboczym, plik zostanie utworzony w katalogu osobistym użytkownika.
Jeśli wylogujesz się lub zamkniesz terminal, proces nie zostanie zakończony.
Uruchamianie polecenia w tle
Używanie
nohup
na pierwszym planie nie jest bardzo przydatne, ponieważ nie będziesz mógł wchodzić w interakcje z powłoką, dopóki polecenie się nie zakończy.
Aby uruchomić polecenie w tle, dodaj symbol
&
na końcu polecenia:
nohup mycommand &
Dane wyjściowe obejmują identyfikator zadania powłoki (otoczony nawiasami) i identyfikator procesu:
25177
Możesz użyć identyfikatora zadania, aby przenieść polecenie na pierwszy plan, używając polecenia
fg
.
Jeśli z jakiegoś powodu chcesz zakończyć proces, użyj polecenia
kill
a następnie identyfikatora procesu:
Przekierowanie danych wyjściowych do pliku
Domyślnie
nohup
przekierowuje dane wyjściowe polecenia do pliku
nohup.out
. Jeśli chcesz przekierować dane wyjściowe do innego pliku, użyj standardowego przekierowania powłoki.
Na przykład, aby przekierować standardowe wyjście i standardowy błąd do
mycommand.out
,
mycommand.out
:
nohup mycommand > mycommand.out 2>&1 &
Aby przekierować standardowe wyjście i standardowy błąd do różnych plików:
nohup mycommand > mycommand.out 2> mycommand.err &
Alternatywy
Istnieje kilka alternatywnych programów, których można użyć, aby uniknąć przerwania polecenia po zamknięciu terminala lub rozłączeniu.
Ekran
Screen lub GNU Screen to program multipleksera terminali, który pozwala na rozpoczęcie sesji ekranu i otwarcie dowolnej liczby okien (terminali wirtualnych) w tej sesji. Procesy uruchomione w Screen będą kontynuowane, gdy ich okno nie będzie widoczne, nawet jeśli zostaniesz rozłączony.
Tmux
Tmux to nowoczesna alternatywa dla ekranu GNU. Dzięki Tmux możesz także utworzyć sesję i otworzyć wiele okien w tej sesji. Sesje Tmux są trwałe, co oznacza, że programy działające w Tmux będą nadal działać, nawet jeśli zamkniesz terminal.
Zapierać się
disown
to wbudowana powłoka, która usuwa zadanie powłoki z kontroli zadania powłoki. W przeciwieństwie do
nohup
, możesz także używać
disown
przy uruchomionych procesach.
Wniosek
nohup
pozwala zapobiegać kończeniu poleceń po wylogowaniu lub zamknięciu terminala.
Pobierz pakiet narzędzi dla systemu Windows Phone SDK 7.1 dla programistów aplikacji dla systemu Symbian
Firma Microsoft uruchomiła pakiet narzędzi SDK (Software Development Toolkit) dla programistów aplikacji Symbian. Ostateczna wersja Windows SDK 7.1 jest już dostępna do pobrania.
Alternatywy dla systemu Linux dla systemu Linux
Sprawdź alternatywne rozwiązania dla systemu operacyjnego Windows. Ubuntu, Linux Mint, Zorin, Syllable, Steam to tylko niektóre z dostępnych darmowych systemów operacyjnych.
Polecenie cięcia systemu Linux z przykładami
Wytnij to narzędzie wiersza polecenia, które umożliwia wycinanie części wierszy z określonych plików lub danych potokowych i drukowanie wyniku na standardowe wyjście. W tym samouczku pokażemy, jak korzystać z polecenia cięcia systemu Linux poprzez praktyczne przykłady i szczegółowe objaśnienia najczęściej używanych opcji cięcia.







