Kurs Linux Polecenia - lekcja 13 - Zarządzanie procesami w systemie Linux
Spisu treści:
- Uruchom komendę Linux w tle
- Przenieś proces pierwszego planu do tła
- Utrzymuj procesy w tle działające po wyjściu powłoki
- Alternatywy
- Ekran
- Tmux
- Wniosek
Zazwyczaj po uruchomieniu polecenia w terminalu musisz poczekać, aż polecenie zakończy się, zanim będziesz mógł wprowadzić kolejne. Nazywa się to uruchamianiem polecenia na pierwszym planie lub w procesie pierwszego planu. Kiedy proces działa na pierwszym planie, zajmuje twoją powłokę i możesz z nim wchodzić w interakcje za pomocą urządzeń wejściowych.
Co się stanie, jeśli wykonanie polecenia zajmie dużo czasu, a w międzyczasie chcesz uruchomić inne polecenia? Do dyspozycji masz kilka opcji. Najbardziej oczywistą i bezpośrednią opcją jest rozpoczęcie nowej sesji powłoki i uruchomienie w niej polecenia. Inną opcją jest uruchomienie polecenia w tle.
Proces w tle to proces / polecenie uruchamiane z terminala i działające w tle, bez interakcji użytkownika., porozmawiamy o procesach w tle to Linux. Pokażemy, jak uruchomić komendę w tle i jak kontynuować proces po zamknięciu sesji powłoki.
Uruchom komendę Linux w tle
Aby uruchomić polecenie w tle, dodaj symbol ampersand (
&
) na końcu polecenia:
command &
Identyfikator zadania powłoki (otoczony nawiasami) i identyfikator procesu zostaną wydrukowane na terminalu:
25177
W tle może być uruchomionych wiele procesów jednocześnie.
Proces w tle będzie kontynuował zapisywanie komunikatów na terminalu, z którego wywołano polecenie. Aby wyłączyć komunikaty
stdout
i
stderr
użyj następującej składni:
command > /dev/null 2>&1 &
>/dev/null 2>&1
oznacza przekierowanie
stdout
do
/dev/null
i
stderr
do
stdout
.
Użyj narzędzia
jobs
, aby wyświetlić status wszystkich zatrzymanych i zadań w tle w bieżącej sesji powłoki:
jobs -l
Dane wyjściowe obejmują numer zadania, identyfikator procesu, stan zadania oraz polecenie, które uruchomiło zadanie:
+ 25177 Running ping google.com &
Aby przenieść proces w tle na pierwszy plan, użyj polecenia
fg
:
fg
fg %1
Aby zakończyć proces w tle, użyj polecenia
kill
a następnie identyfikatora procesu:
Przenieś proces pierwszego planu do tła
Aby przenieść działający proces pierwszego planu w tle:
- Zatrzymaj proces, naciskając
Ctrl+ZPrzenieś zatrzymany proces na tło, wpisującbg.
Utrzymuj procesy w tle działające po wyjściu powłoki
Jeśli połączenie zostanie zerwane lub wylogujesz się z sesji powłoki, procesy w tle zostaną zakończone. Istnieje kilka sposobów na utrzymanie procesu po zakończeniu interaktywnej sesji powłoki.
Jednym ze sposobów jest usunięcie zadania z kontroli zadań powłoki za pomocą wbudowanej powłoki
disown
:
disown
disown %1
Potwierdź, że zadanie zostało usunięte z tabeli aktywnych zadań za pomocą polecenia
jobs -l
. Aby wyświetlić listę wszystkich uruchomionych procesów, w tym odrzuconych, użyj polecenia
ps aux
.
Innym sposobem na utrzymanie procesu po wyjściu z powłoki jest użycie
nohup
.
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.
Aby uruchomić polecenie w tle za pomocą polecenia
nohup
, wpisz:
nohup command &
Dane wyjściowe polecenia są przekierowywane do pliku
nohup.out
.
nohup: ignoring input and appending output to 'nohup.out'
Alternatywy
Istnieje wiele programów, które pozwalają na jednoczesne prowadzenie wielu interaktywnych sesji.
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 nadal działają, nawet jeśli zamkniesz terminal.
Wniosek
Aby uruchomić polecenie w tle, dołącz
&
na końcu polecenia.
Po uruchomieniu polecenia w tle nie trzeba czekać, aż zakończy się, zanim będzie można wykonać kolejne.
nohup fg bg zadania odrzucają terminalPolecenia sterujące lub polecenia CTRL lub skróty klawiaturowe dla systemu Windows
Czym są polecenia CTRL? Zapoznaj się z pełną listą skrótów klawiaturowych CTRL, które można z łatwością wykorzystać do wykonywania przydatnych zadań na komputerze z systemem Windows.
3 Alternatywne polecenia wiersza polecenia, które są lepsze niż domyślne
Szukasz alternatywy dla wiersza poleceń, która faktycznie dodaje więcej funkcji i ulepszeń do miksu? Spójrzmy na trzy najlepsze.
Batch odinstalować aplikacje Windows 8 w tle w tle
Oto jak wsadowo odinstalować aplikacje Windows 8 w tle.







