Uruchamianie poleceń systemu Linux w tle umożliwia użytkownikowi kontynuowanie wykonywania innych zadań, gdy polecenie jest nadal uruchomione. Aby uruchomić polecenie w tle, istnieje wiele sposobów; jedną z prostych metod jest dodanie pliku ampersand (&) na końcu wiersza poleceń.
Gdy proces jest ustawiony do działania w tle, możemy uzyskać do niego dostęp za pomocą Oferty pracy Komenda. Ten artykuł zawiera wszystkie różne sposoby uruchamiania polecenia w tle.
Lista różnych sposobów uruchamiania procesu w tle jest następująca:
Poniżej przedstawiono szczegóły wszystkich metod uruchamiania procesu w tle:
1: Używanie znaku Ampersand (&).
W Linuksie Ampersand (&) jest operatorem powłoki, który wysyła polecenie w tle jako oddzielny proces. Łącząc ampersand (&) z poleceniem, zostanie ono wykonane jako proces w tle, umożliwiając powłoce natychmiastowe kontynuowanie przetwarzania innych poleceń.
Składnia procesu działającego w tle przy użyciu znaku Ampersand:
$ [ Komenda ] &
Symbol ampersand jest zawsze dodawany na końcu polecenia z pojedynczą spacją pomiędzy „&” i ostatni znak polecenia.
Na przykład utwórz proces uśpienia na 40 sekund.
$ spać 40
Jak widzimy, terminal uruchamia polecenie uśpienia i nie pozwala nam wykonać żadnego innego zadania.
Teraz naciśnij „Ctrl+Z” aby zatrzymać ten proces. Następnie tym razem uruchomimy to samo polecenie uśpienia, ale użycie z nim operatora ampersand ustawi go w tle.
Teraz ten proces jest w tle. Aby wyświetlić listę procesów działających w tle, użyj:
Teraz zabij ten proces w tle, używając:
Na przykład, aby zabić aktualnie uruchomiony proces uśpienia, użyj:
Teraz proces uśpienia zostaje zabity, aby potwierdzić listę procesów działających w tle.
Oto kolejny przykład użycia & ampersand znak jest z poleceniem gedit.
Na przykład, jeśli otworzymy edytor tekstu gedit bezpośrednio za pomocą terminala, będziemy musieli użyć powłoki do innej pracy lub musimy najpierw zatrzymać bieżący proces.
$ edytuj
Użycie powyższego polecenia otworzy edytor tekstu, który otworzy go przed terminalem.
Ale po użyciu „&” na końcu polecenia gedit powłoka może być używana do innych procesów:
2: Za pomocą polecenia „bg”.
Polecenie bg to drugi sposób uruchamiania poleceń w tle. To polecenie pozwala użytkownikowi kontynuować pracę w terminalu, podczas gdy proces działa w tle, uwalniając terminal do innych zadań. Polecenie bg służy do długotrwałego procesu w tle, który działa nawet po wylogowaniu użytkownika.
Podobnie jak znak ampersand, nie musimy się martwić o dodanie go do polecenia za każdym razem, wystarczy wysłać tekst bg do terminala. Rozpocznie proces w tle i zwolni terminal do wykorzystania w przyszłości.
Na przykład użyjmy poprzedniego przykładu i wyślijmy polecenie uśpienia, używając:
$ spać 40
Teraz proces jest uruchomiony, a terminal nie jest dostępny do użytku. Aby użyć polecenia bg i wysłać ten proces w tle, musimy najpierw zatrzymać aktualnie wykonywany proces, naciskając „Ctrl+Z” i wykonanie tego polecenia:
Po wysłaniu polecenia bg proces uśpienia zaczął być kontynuowany w tle. Na końcu widzimy ampersand „&”, wskazujący, że bieżący proces działa w tle.
Aby sprawdzić polecenie uruchamiania procesów w tle:
Aby sprawdzić polecenie działające w tle, użyj:
Aby zabić bieżący proces, użyj jego identyfikatora zadania z poleceniem kill. Aby sprawdzić identyfikator zadania, uruchom:
Po zapoznaniu się z procesem zabijania identyfikatora zadania przy użyciu:
Na przykład, aby zabić aktualnie uruchomiony proces uśpienia, użyj:
Aby potwierdzić, czy proces został zabity, uruchom ponownie polecenie jobs:
Widzimy, że proces uśpienia nie działa już w tle:
3: Korzystanie z polecenia Nohup
Polecenie Nohup zajmuje trzecie miejsce na naszej liście uruchomionych procesów działających w tle w systemie Linux. Polecenie oznacza „no hang up” i służy do zapobiegania zakończeniu procesu do zakończenia sesji terminala. Kiedy proces jest wykonywany za pomocą Nohup, kontynuuje działanie, nawet jeśli użytkownik się wyloguje, a dane wyjściowe procesu są przekierowywane do pliku o nazwie „nohup.out” .
Polecenie Nohup do ciągłego pingowania Google w tle to przekierowanie danych wyjściowych do pliku tekstowego GooglePing.txt:
$ noup świst Google kom > GooglePing.txt &
Po napisaniu tego polecenia widzimy, że terminal jest wolny, a w tle działa proces ciągłego pingowania Google.
Aby uzyskać dostęp do pliku dziennika, możemy użyć następującego polecenia:
Dostęp do pliku dziennika można również uzyskać za pomocą interfejsu GUI z ekranu głównego.
4: Używanie polecenia disown
Polecenie disown usuwa proces z powłoki i uruchamia go w tle. Gdy proces zostanie odrzucony, nie jest już powiązany z terminalem i kontynuuje działanie nawet po wylogowaniu się użytkownika lub zamknięciu terminala.
Wcześniej używaliśmy polecenia ampersand „&”, które wysyła proces w tle po jego wykonaniu, ale po zamknięciu powłoki proces zostaje zakończony. Istnieje polecenie pozbycia się tego wyparcia.
Polecenie disown nie może działać niezależnie, ale w tle musi działać co najmniej jeden proces.
Uruchom poniższe polecenie za pomocą a & znak ampersand, który prześle twoje polecenie do tła.
$ świst Google kom > GooglePing.txt &
Po utworzeniu pliku możemy go wyświetlić za pomocą polecenia jobs.
Teraz nasz proces działa w tle, aby odłączyć go od użycia terminala:
Uruchom ponownie polecenie jobs, aby potwierdzić, że proces jest odłączony od terminala:
Ponieważ nasz proces jest obecnie uruchomiony, ale nie jest już wyświetlany w terminalu:
Aby potwierdzić nasz proces, możemy użyć polecenia cat, aby uzyskać dostęp do tego pliku ping:
Udało nam się odłączyć ten proces od terminala, ale nadal działa on w tle.
5: Korzystanie z narzędzia tmux
Tmux to rodzaj narzędzia do multipleksowania terminali. Za pomocą tmux możemy utworzyć wiele sesji terminalowych w ramach jednej powłoki. Zapewnia możliwość uruchamiania procesów w tle.
Aby uruchomić proces w tle w Tmux, możesz utworzyć nową sesję, a następnie odłączyć się od niej za pomocą kombinacji klawiszy Ctrl-b, a następnie d.
Aby zainstalować narzędzie tmux w systemie Ubuntu i Linux mint, użyj:
$ Sudo trafny zainstalować tmux
Aby zainstalować w systemie Fedora:
Aby zainstalować w Arch Linux uruchom:
Teraz uruchom polecenie tmux, aby otworzyć nowy terminal:
Aby utworzyć nową sesję tmux, użyj:
Aby wyświetlić listę wszystkich sesji tmux, użyj:
Aby zabić sesję tmux, użyj polecenia jako:
Na przykład zabić „0” użycie sesji tmux:
Tutaj wymieniliśmy bieżącą aktywną sesję tmux i zabiliśmy ją za pomocą powyższego polecenia:
-
- Aby odłączyć się od sesji tmux, naciśnij „Ctrl+B+D” .
- Aby uzyskać listę wszystkich poleceń, naciśnij „Ctrl+B+?” .
- Aby przełączać się między oknami tmux, naciśnij „Ctrl+B+O” .
Aby podzielić terminal tmux w pionie, naciśnij „Ctrl+B” i wpisz % .
Aby wrócić na główny terminal z tmux używać:
Wniosek
Uruchamianie aplikacji działających w tle w systemie Linux to potężna funkcja, która pozwala użytkownikom na kontynuowanie długotrwałych zadań nawet po wylogowaniu się z terminala lub zamknięciu okna. zwykle ampersand & znak lub bg polecenie służy do wysyłania procesu w tle. Jednak możemy również skorzystać noup Lub zapierać się polecenie odłączenia procesu od terminala. W końcu możemy skorzystać z tzw Narzędzie tmux tworzyć wiele terminali i uruchamiać procesy w tle bez zakłócania pracy terminala.