V tomto rychlém tutoriálu se chci podívat na jobs
příkaz a několik způsobů, jak můžeme manipulovat s úlohami běžícími na našich systémech. Stručně řečeno, řízení úloh vám umožní pozastavit a obnovit procesy spuštěné v prostředí Linuxu.
Zaměstnání
jobs
příkaz zobrazí seznam všech úloh v systému; aktivní, zastavený nebo jinak. Než prozkoumám příkaz a výstup, vytvořím ve svém systému úlohu.
Budu používat sleep
práci, protože to žádným smysluplným způsobem nezmění můj systém.
[tcarrigan@rhel ~]$ sleep 500
^Z
[1]+ Stopped sleep 500
Nejprve jsem vydal sleep
a poté jsem obdržel Číslo úlohy [1]. Poté jsem úlohu okamžitě zastavil pomocí Ctl+Z . Dále spustím jobs
příkaz k zobrazení nově vytvořené úlohy:
[tcarrigan@rhel ~]$ jobs
[1]+ Stopped sleep 500
Můžete vidět, že mám jednu zastavenou úlohu označenou číslem úlohy [1] .
Mezi další možnosti tohoto příkazu patří:
- -l – zobrazí kromě výchozích informací také PID
- -n – uvádí pouze procesy, které se od posledního upozornění změnily
- -p – vypíše pouze PID
- -r – zobrazí pouze běžící úlohy
- -s – zobrazí pouze zastavené úlohy
Pozadí
Dále obnovím sleep
práce v pozadí. K tomu používám bg
příkaz. Nyní bg
příkaz má docela jednoduchou syntaxi, jak je vidět zde:
bg [JOB_SPEC]
Kde JOB_SPEC může být kterýkoli z následujících:
- %n – kde n je číslo zakázky
- %abc – odkazuje na úlohu spuštěnou příkazem začínajícím abc
- %?abc – odkazuje na úlohu spuštěnou příkazem obsahujícím abc
- %- - určuje předchozí úlohu
POZNÁMKA :bg
a fg
pracovat na aktuální úloze, pokud není zadán žádný JOB_SPEC.
Tuto úlohu mohu přesunout do pozadí pomocí čísla úlohy [1] .
[tcarrigan@rhel ~]$ bg %1
[1]+ sleep 500 &
Nyní můžete vidět, že na pozadí běží jedna úloha.
[tcarrigan@rhel ~]$ jobs
[1]+ Running sleep 500 &
Popředí
Nyní se podíváme na to, jak přesunout úlohu na pozadí do popředí. K tomu používám fg
příkaz. Syntaxe příkazu je stejná pro příkaz na popředí jako pro příkaz na pozadí.
fg [JOB_SPEC]
Podrobnosti o JOB_SPEC najdete ve výše uvedených odrážkách.
Zahájil jsem nový sleep
na pozadí:
[tcarrigan@rhel ~]$ sleep 500 &
[2] 5599
Nyní jej přesunu do popředí pomocí následujícího příkazu:
[tcarrigan@rhel ~]$ fg %2
sleep 500
fg
příkaz nyní převedl můj systém zpět do stavu spánku.
Konec
I když si uvědomuji, že zde prezentované úlohy byly triviální, tyto koncepty lze aplikovat na více než jen sleep
příkaz. Pokud se dostanete do situace, která to vyžaduje, máte nyní znalosti, jak přesunout spuštěné nebo zastavené úlohy z popředí na pozadí a zase zpět.
[ Bezplatný online kurz:Technický přehled Red Hat Enterprise Linux. ]