Jak uruchamiać polecenia systemu Linux w tle

Jak Uruchamiac Polecenia Systemu Linux W Tle



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.

$ spać 40 &



Teraz ten proces jest w tle. Aby wyświetlić listę procesów działających w tle, użyj:

$ Oferty pracy -l



Teraz zabij ten proces w tle, używając:

$ zabić -9 [ identyfikator zadania ]


Na przykład, aby zabić aktualnie uruchomiony proces uśpienia, użyj:

$ zabić -9 6149


Teraz proces uśpienia zostaje zabity, aby potwierdzić listę procesów działających w tle.

$ Oferty pracy -l



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:

$ edytuj &


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:

$ bg


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:

$ Oferty pracy -l



Aby sprawdzić polecenie działające w tle, użyj:

$ fg



Aby zabić bieżący proces, użyj jego identyfikatora zadania z poleceniem kill. Aby sprawdzić identyfikator zadania, uruchom:

$ Oferty pracy -l



Po zapoznaniu się z procesem zabijania identyfikatora zadania przy użyciu:

$ zabić -9 [ identyfikator zadania ]


Na przykład, aby zabić aktualnie uruchomiony proces uśpienia, użyj:

$ zabić -9 6584


Aby potwierdzić, czy proces został zabity, uruchom ponownie polecenie jobs:

$ Oferty pracy -l


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:

$ kot GooglePing.txt



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:

$ zapierać się



Uruchom ponownie polecenie jobs, aby potwierdzić, że proces jest odłączony od terminala:

$ Oferty pracy -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:

$ kot GooglePing.txt



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:

$ Sudo dnf zainstalować tmux


Aby zainstalować w Arch Linux uruchom:

$ Sudo pacman -S tmux


Teraz uruchom polecenie tmux, aby otworzyć nowy terminal:

$ tmux


Aby utworzyć nową sesję tmux, użyj:

$ tmux nowy -S [ identyfikator_sesji ]


Aby wyświetlić listę wszystkich sesji tmux, użyj:

$ tmux ls


Aby zabić sesję tmux, użyj polecenia jako:

$ sesja zabijania tmux -T [ identyfikator_sesji ]


Na przykład zabić „0” użycie sesji tmux:

$ sesja zabijania tmux -T 0


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ć:

$ Wyjście

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.