GNU/Linux >> Znalost Linux >  >> Linux

Jak používat příkaz Jobs v Linuxu

Příkaz jobs v Linuxu umožňuje uživateli přímou interakci s procesy v aktuálním shellu.

Úlohy mají v Linuxu tři možné stavy:popředí, pozadí a zastaveno.

Co to znamená? Za chvíli vysvětlím více. Nejprve se podívejme na některé nástroje zabudované do příkazu Jobs.

Job Control má několik různých funkcí. Každý může být spuštěn nezávisle. Zde je tabulka příkazů souvisejících s Job Control.

Příkaz Popis
práce Uvádí seznam úloh v aktuálním prostředí
bg %n Odeslat proces na pozadí
fg %n Přenést proces do popředí

V tabulce n představuje číslo odpovídajícího ID úlohy.

Porozumění ovládání úloh v Linuxu

Co je to vlastně práce? Práce, procesy a úkoly jsou slova, která se často používají zaměnitelně.

Ve skutečnosti existuje několik malých rozdílů, které jsou důležité pro přehlednost.

Rozdíl lze zredukovat na to, která entita úkoly zpracovává. Uživatelé vlastní úlohy, zatímco jádro vlastní procesy.

V Linuxu může být úloha jedním procesem nebo může mít mnoho potomků či podprocesů.

Příkladem toho může být úloha, která obsahuje několik řízených příkazů, jako je tento:

cat file1 | sort | uniq

Paresuje výstup souboru a třídí podle hodnoty uniq pomocí kombinace příkazů sort a uniq.

V osobních počítačích operační systém zpracovává většinu procesů automaticky. To je obvykle optimalizováno pro potřeby systému nebo prioritu daného úkolu. Tyto procesy dokončuje jádro a je jim přiděleno ID procesu (PID).

Jak ovládat úlohy v Linuxu

Když otevřete nový shell, máte možnost vytvářet vlastní úlohy. Ve skutečnosti se to stane, když zadáte jakýkoli příkaz (nebo sérii příkazů) do terminálu.

Na uživatelské úrovni – z prostředí Shell můžete ručně odesílat úlohy do práce na pozadí, přenést je do popředí nebo je pozastavit (pomocí Ctrl+z).

Pojďme tedy to, co jste se dosud naučili, uvést do praxe na několika příkladech.

Příklad 1:Odeslání úloh na pozadí

Odeslání úlohy do práce na pozadí je snadné. K příkazu stačí připojit & (ampersand).

[email protected]:~$ nano Linux_Handbook &
[1] 2860

Můžete vidět, že tento příkaz vrací číslo úlohy v závorkách. Následující číslo je ID procesu používané jádrem.

Příklad 2:Zobrazení úloh

Pokud jste se pokusili zadat příkaz jobs, možná vás zmátlo, že se nic nedělo. Důvodem je, že v prostředí nebyly žádné aktivní úlohy. Nyní, když máte spuštěnou úlohu, můžete úspěšně spustit příkaz jobs.

[email protected]:~$ jobs
[1]+  Stopped                 nano Linux_Handbook

Číslo PID zde není uvedeno, ale nepotřebujete ho. Úlohy řídíte pomocí ID úlohy specifického pro uživatele/shell.

Příklad 3:Přenést úlohy do popředí

Toto ID úlohy můžete použít k uvedení vaší instance nano do popředí.

[email protected]:~$ fg %1

Pokud jste to sledovali, mělo by vás to přivést do Nano s vaším souborem s názvem Linux Handbook.

Příklad 4:Zastavení úlohy pomocí Ctrl+z

Otevřené úlohy můžete zastavit pomocí Ctrl+z. Zde je snímek obrazovky, který ukazuje, jak to použít s top.

Na záznamu obrazovky můžete sledovat, jak otevřu horní část, pomocí Ctrl+z jej pozastavit, zobrazit v seznamu mých úloh a poté jej vrátit zpět do popředí, než jej zavřete.

Příklad 5:Spouštění úloh na pozadí pomocí bg

I když můžete úlohy odeslat na pozadí pomocí symbolu &, vždy je dobré mít alternativu. Ve screencastu jste mě sledovali, jak zastavím úlohu pomocí ctrl+z. Vrátil jsem úlohu zpět do shellu a do popředí pomocí fg %n příkaz. Totéž můžete provést pomocí bg .

Budu používat GUI aplikaci jen pro přepnutí věcí. Možná jste si v minulosti všimli, že když otevřete GUI z terminálu, že pokud terminál zavřete, GUI se také zavře. Doufejme, že vám tento článek objasnil, proč k tomu dochází.

Takže použijme Gedit. Udělám následující:

  • Spusťte Gedit
  • Vraťte se do prostředí a stiskněte Ctrl+z
  • Pošlete jej do pozadí ke spuštění pomocí bg
  • Zkontrolujte můj seznam úloh a ověřte, že je spuštěný
  • Vraťte se do popředí a odešlete přerušení systému pomocí Ctrl+c k ukončení
[email protected]:~$ gedit
^Z
[1]+  Stopped                 gedit
[email protected]:~$ bg %1
[1]+ gedit &
[email protected]:~$ jobs
[1]+  Stopped                 gedit
[email protected]:~$ fg %1
gedit
^C

Bonusový tip pro ukončení úloh v Linuxu

Mnoho z nás je zvyklých používat ctrl+c k ukončení úloh v shellu. Existuje další způsob, jak toho dosáhnout, než začlenění vašich nových znalostí o ovládání práce.

[email protected]:~$ fg %1
gedit
^Z
[1]+  Stopped                 gedit
[email protected]:~$ kill %1

Správně, příkaz kill lze použít spolu s ID úlohy také k ukončení úlohy.

Závěr

Naučení se příkazového řádku Linuxu nás přibližuje k vnitřnímu fungování našeho oblíbeného operačního systému. Řízení výukových úloh nám dává možnost zvládnout více úloh najednou.

Doufám, že jste v tomto článku našli něco nového k prozkoumání. Pokud se vám to líbilo, dejte nám prosím vědět v sekci komentářů níže nebo použijte odkazy ke sdílení na sociálních sítích.


Linux
  1. Jak používat Su Command v Linuxu

  2. Jak používat Linux Screen Command

  3. jobs Možnosti příkazů V Linuxu

  1. Jak používat Linux na Command

  2. Jak používat příkaz ldconfig v Linuxu

  3. Jak používat příkaz ipset v Linuxu

  1. Jak používat příkaz Disown v Linuxu

  2. Jak používat příkaz Linux SS

  3. Jak používat příkaz Linux nohup