Jak uruchomić polecenia Linux w tle

Jak uruchomić polecenia Linux w tle

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:

    • Dodanie znaku Ampersand (&)
    • Korzystanie z polecenia BG
    • Korzystanie z polecenia Nohup
    • Korzystanie z poleceń odejdź
    • Korzystanie z narzędzia Tmux

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 odłączyć się od sesji Tmux „Ctrl+B+D”.
    • Aby uzyskać listę wszystkich poleceń, naciśnij „Ctrl+B+?".
    • Aby przesuwać się między TMUX Windows naciśnij „Ctrl+B+O”.

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.