GNU/Linux >> Znalost Linux >  >> Linux

Pochopení příkazů řízení úloh v Linuxu – bg, fg a CTRL+Z

Co je práce v Linuxu

Úloha je proces, který spravuje shell. Každé úloze je přiřazeno sekvenční ID úlohy. Protože úloha je proces, každá úloha má přiřazený PID. Existují tři typy stavů úlohy:
1. Popředí :Když zadáte příkaz do okna terminálu, příkaz zabere toto okno terminálu, dokud nebude dokončen. Toto je práce v popředí.
2. Pozadí :Když zadáte symbol ampersand (&) na konec příkazového řádku, příkaz se spustí, aniž by zabíral okno terminálu. Výzva shellu se zobrazí ihned po stisknutí klávesy Return. Toto je příklad úlohy na pozadí.
3. Zastaveno :Pokud stisknete Control + Z pro úlohu na popředí nebo zadáte příkaz stop pro úlohu na pozadí, úloha se zastaví. Tato úloha se nazývá zastavená úloha.

Poznámka :Kromě Bourne shellu podporují ostatní shelly řízení úloh.

Příkazy řízení úlohy

Příkazy řízení úloh vám umožňují umístit úlohy do popředí nebo na pozadí a spouštět nebo zastavovat úlohy. Tabulka popisuje příkazy řízení úlohy.

Možnost Popis
práce Uvádí všechny úlohy
bg %n Umístí aktuální nebo zadanou úlohu na pozadí, kde n je ID úlohy
fg %n Přenese aktuální nebo zadanou úlohu do popředí, kde n je ID úlohy
Control-Z Zastaví úlohu v popředí a umístí ji na pozadí jako zastavenou úlohu
Poznámka :Příkazy řízení úloh vám umožňují spouštět a spravovat více úloh v rámci shellu. Příkazy řízení úlohy však můžete použít pouze v prostředí, kde byla úloha spuštěna.

Spuštění úlohy na pozadí

Chcete-li spustit úlohu na pozadí, musíte zadat příkaz, který chcete spustit, a za ním ampersand (&) symbol na konci příkazového řádku. Například spusťte příkaz sleep na pozadí.

$ sleep 100 & 
[1] 1302
$

Shell vrátí ID úlohy v závorkách, které přiřadí příkazu, a související PID. S ID úlohy můžete ke správě úlohy používat příkazy řízení úlohy, zatímco jádro používá ke správě úloh PID.

Když je úloha na pozadí dokončena a stisknete Return, shell zobrazí zprávu, že úloha je hotová.

[1] + Done         sleep 100 &
$

Správa úloh na pozadí

Můžete použít úkoly příkaz k zobrazení seznamu úloh, které jsou aktuálně spuštěny nebo pozastaveny na pozadí.

$ jobs
[1]+  Running                 sleep 100 &

K převedení úlohy na pozadí do popředí můžete použít příkaz fg.

$ fg % 1
sleep 100
Poznámka :Úloha v popředí zabírá shell, dokud není dokončena, pozastavena nebo zastavena a umístěna na pozadí.

Můžete použít „Ctrl+Z klávesy a bg příkaz pro návrat úlohy na pozadí. Klávesy Control+Z pozastaví úlohu a umístí ji na pozadí jako zastavenou úlohu. Příkaz bg spustí úlohu na pozadí. Například:
1. Pomocí CTRL+Z

$ sleep 100
^Z
[1]+  Stopped                 sleep 100
$ jobs
[1]+  Stopped                 sleep 100

2. Pomocí bg

$ bg % 1
[1]+ sleep 100 &
$ jobs
[1]+  Running                 sleep 100 &
Poznámka :Když umístíte zastavenou úlohu do popředí nebo na pozadí, úloha se restartuje.


Linux
  1. 5 způsobů, jak spouštět příkazy UNIX / Linux (a skripty Shell) na pozadí

  2. Porozumění základním příkazům Linuxu

  3. linux:úkol zabít pozadí

  1. Sledujte příkazy a úkoly pomocí příkazu watch v systému Linux

  2. Úvod do linuxových příkazů chgrp a newgrp

  3. Pochopení různých klasifikací příkazů Shell a jejich použití v Linuxu

  1. Pochopení příkazů vypnutí, vypnutí, zastavení a restartu v Linuxu

  2. Linuxové příkazy – přehled a příklady

  3. Jak spravovat úlohy na pozadí Linuxu pomocí příkazů fg a bg