Uruchamianie poleceń Linux w tle pozwala użytkownikowi kontynuować wykonywanie innych zadań, gdy polecenie jest nadal uruchomione. Aby uruchomić polecenie w tle, istnieje wiele sposobów; Jedną z prostych metod jest dodanie Ampersand (&) na końcu wiersza poleceń.
Po ustawieniu procesu w tle możemy uzyskać do niego dostęp za pomocą Oferty pracy Komenda. Ten artykuł zawiera różne sposoby uruchamiania polecenia w tle.
Lista różnych sposobów uruchamiania procesu w tle jest następująca:
Poniżej znajduje się szczegół wszystkich metod uruchamiania procesu tła:
1: Używanie znaku Ampersand (&)
W Linux Ampersand (&) to operator powłoki, który wysyła polecenie w tle jako osobny proces. Łącząc Ampersand (&) z polecenie.
Składnia dla procesu tła za pomocą znaku Ampersand:
$ [polecenie] i
Symbol Ampersand jest zawsze dodawany na końcu polecenia z jedną przestrzenią pomiędzy „&” i ostatni charakter dowodzenia.
Na przykład utwórz proces snu przez 40 sekund.
$ Sleep 40
Jak widzimy, terminal uruchamia polecenie snu i nie pozwala nam wykonywać żadnego innego zadania.
Teraz naciśnij „Ctrl + Z” Aby zatrzymać ten proces. Następnie tym razem uruchomimy to samo polecenie snu, ale użycie operatora Ampersand z nim skonfiguruje go w tle.
$ Sleep 40 i
Teraz ten proces jest w tle. Aby wyświetlić listę procesu uruchamiania tła:
$ Jobs -l
Teraz zabij ten proces w tle za pomocą:
$ Kill -9 [Job -ID]
Na przykład, aby zabić bieżący proces uruchamiania snu:
$ Kill -9 6149
Teraz proces snu zostaje zabity w celu potwierdzenia listy procesu uruchamiania tła za pomocą.
$ Jobs -l
Oto kolejny przykład użycia i Ampersand Znak jest z poleceniem GEDIT.
Na przykład, jeśli otworzymy edytor tekstu GEDIT bezpośrednio za pomocą terminalu, będziemy zobowiązani do użycia powłoki do innych prac lub musimy najpierw zatrzymać bieżący proces.
$ gedit
Korzystanie z 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 swobodnie używać w innych procesach:
$ gedit &
2: Korzystanie z polecenia „BG”
Polecenie BG jest drugim sposobem uruchamiania poleceń w tle. To polecenie pozwala użytkownikowi kontynuować pracę w terminalu, podczas gdy proces działa w tle, uwalniając terminal dla innych zadań. Polecenie BG jest używane do długotrwałego procesu tła, który nawet działa, jeśli użytkownik się wyloguje.
Jak znak Ampersand, nie musimy się martwić o dodanie go do polecenia za każdym razem, gdy po prostu wysyłaj tekst BG do terminala. Zacznie uruchamiać proces w tle i uwolni terminal do użytku w przyszłości.
Na przykład użyjmy poprzedniego przykładu i wyślijmy polecenie snu za pomocą:
$ Sleep 40
Teraz proces jest uruchomiony, a terminal nie jest dostępny do użytku. Aby użyć polecenia BG i wysłać ten proces na tle, musimy najpierw zatrzymać bieżący proces wykonywania, naciskając „Ctrl+ Z” i wykonanie tego polecenia:
$ BG
Po wysłaniu polecenia BG proces snu zaczął kontynuować w tle. Na końcu widzimy Ampersand „&”, co wskazuje, że bieżący proces działa w tle.
Aby sprawdzić polecenie zadań uruchom procesu w tle:
$ Jobs -l
Aby sprawdzić polecenie działające w tle, użyj:
$ fg
Aby zabić obecny proces, użyj jego identyfikatora pracy z dowództwem Kill. Aby sprawdzić identyfikator zadań, uruchom:
$ Jobs -l
Po poznaniu procesu zabijania identyfikatora pracy:
$ Kill -9 [Job -ID]
Na przykład, aby zabić obecny proces uruchamiania:
$ Kill -9 6584
Aby potwierdzić, czy proces został zabity, czy nie, uruchom polecenie Jobs:
$ Jobs -l
Widzimy, że proces snu nie działa już w tle:
3: Korzystanie z polecenia Nohup
Polecenie NOHUP jest trzecie na naszej liście uruchomionych procesów tła w Linux. Polecenie oznacza „bez rozłączania się” i służy do zapobiegania zakończeniu procesu do końca sesji terminalnej. Gdy proces jest wykonywany za pomocą NOHUP, nadal działa, nawet jeśli użytkownik się wyloguje, a wyjście procesu jest przekierowane do pliku o nazwie „Nohup.na zewnątrz".
Polecenie NOHUP do Ping Google w sposób ciągły w tle, a wyjście jest przekierowywane do pliku tekstowego GooglePing.tekst:
$ nohup ping Google.com> Googleping.tekst &
Po napisaniu tego polecenia możemy zobaczyć, że terminal jest bezpłatny, a w tle działa w tle procesem ciągłego pingowania Google.
Aby uzyskać dostęp do pliku dziennika, możemy użyć następującego polecenia:
$ cat Googleping.tekst
Do pliku dziennika można również uzyskać dostęp za pomocą GUI z ekranu głównego.
4: Korzystanie z poleceń odejście
Polecenie odrzucone usuwa proces z powłoki i uruchamia go w tle. Gdy proces jest odrzucony, nie jest już powiązany z terminalem i nadal działa nawet po wylogowaniu lub zamknięciu terminalu.
Wcześniej używaliśmy polecenia Ampersand „&”, które wysyła proces w tle po jego wykonaniu, ale po zamykaniu powłoki proces zostanie zakończony. Aby pozbyć się tego rozkazu odejścia.
Dowództwo odejścia nie może działać niezależnie, ale w tle musi działać minimum jeden proces.
Uruchom poniższe polecenie za pomocą I znak Ampersand, który wyśle twoje polecenie na tło.
$ ping Google.com> Googleping.tekst &
Po utworzeniu pliku możemy wymienić go za pomocą polecenia zadania.
Teraz nasz proces działa na tle, aby odłączyć go od użycia terminala:
$ odejście
Uruchom ponownie polecenie zadań, aby potwierdzić, że proces jest odłączony od terminalu:
$ Jobs -l
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:
$ cat Googleping.tekst
Z powodzeniem oderwaliśmy ten proces od terminalu, ale nadal działa w tle.
5: Korzystanie z narzędzia Tmux
TMUX jest rodzajem narzędzia multipleksera końcowego. Za pomocą TMUX możemy utworzyć wiele sesji terminalowych w jednej skorupce. 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 kluczy Ctrl-B, a następnie D.
Aby zainstalować narzędzie TMUX na Ubuntu i Linux Mint Użyj:
$ sudo apt instal tmux
Aby zainstalować w Fedora Run:
$ sudo dnf instaluj tmux
Aby zainstalować w Arch Linux Run:
$ sudo pacman -s tmux
Teraz uruchom polecenie Tmux, aby otworzyć nowy terminal:
$ tmux
Aby utworzyć nową sesję TMUX, użyj:
$ tmux new -s [session_id]
Aby wymienić wszystkie sesję TMUX, użyj:
$ tmux ls
Do zabicia sesji TMUX użyj polecenia jako:
$ Tmux Kill -session -t [session_id]
Na przykład, aby zabić „0” Użyj sesji Tmux:
$ Tmux Kill -session -t 0
Tutaj wymieniliśmy bieżącą działającą sesję aktywną TMUX i zabili ją za pomocą powyższego polecenia:
Aby podzielić terminal Tmux w pionie, naciśnij „Ctrl+B” i typ %.
Aby wrócić na główny terminal z Tmux używać:
$ exit
Wniosek
Uruchamianie aplikacji w tle w Linux to potężna funkcja, która pozwala użytkownikom utrzymywać długotrwałe zadania, nawet po wylogowaniu się z terminalu lub zamknięciu okna. Zwykle Ampersand & znak lub BG Polecenie służy do wysyłania procesu w tle. Możemy jednak również użyć Nohup Lub zapierać się polecenie oddzielenia procesu od terminalu. W końcu możemy użyć Narzędzie Tmux Aby utworzyć wiele terminali i uruchom procesy w tle bez zakłócania terminalu.