Správa úloh v shellu

Unixové systémy jsou víceúlohové, a jako takové nabízejí prostředky, jak realizovat více úloh současně. Kupříkladu, pokud budete chtít pustit nějaký časově náročný program, ale současně budete chtít dále pracovat s příkazovou řádkou, můžete ho pustit na pozadí:

  dd if=/dev/urandom of=whitenoise &

Ampersand na konci příkazu způsobí, že se daný příkaz začne provádět na pozadí. Pokud už nějaký program běží a vy jej chcete přesunout na pozadí, jde to také, i když je to o něco komplikovanější. Stiskem [Ctrl+Z] průběh daného příkazu (programu) zastavíte. Tak se dostanete k příkazové řádce, ale v tuto chvíli ještě daná úloha na pozadí neběží. Je jen pozastavená. Jednotlivé úlohy si můžete nechat vypsat pomocí příkazu jobs.

Číslo u každé úlohy je poměrně důležité, protože vám umožní danou úlohu převést do pozadí nebo opět do popředí. Pokud má naše pozastavená úloha číslo jedna, provedeme toto:

  bg 1

Teoreticky jste nemuseli číslo specifikovat, neboť bez parametru se převede do pozadí naposledy pozastavená úloha. Ale pokud budete mít takových úloh více, tomuto se nevyhnete.

Kteroukoliv úlohu můžete převést opět do popředí pomocí příkazu fg:

  fg 1

V tomto případě byste na pozadí běžící (nebo pozastavenou) úlohu č. 1 převedli na popředí.

Práci s více shelly na jednom terminálu umožňuje velmi snadno program screen. Jeho výhodou je to, že po jeho ukončení zůstanou všechny úlohy a shelly běžet, takže se k rozdělané práci můžete snadno vrátit na jiném terminálu.

Kam dál

pokrocili/komandlajna/multitasking.txt · Poslední úprava: 2009/11/11 15:59 autor: Michal Dočekal
CC Attribution-Share Alike 3.0
www.chimeric.de Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 PDF Export