Řízení úloh (Unix)
V operačních systémech podporujících vykonávání více procesů paralelně nebo sériově (dávkovém zpracování), řízení práce –  odkazuje na správu více dávkových úloh.

Unixový shell 
Při použití Unixu nebo odvozeného operačního systému pomocí terminálu bude mít uživatel zpočátku jen jeden běžící proces a to jejich přihlašovací shell. Většina úloh (výpis složek, editace souborů, atd.) může být jednoduše dosažena tak, že necháme příslušný program převzít kontrolu nad terminálem, který ji při ukončení zase vrátí. Nicméně, někdy bude uživatel chtít provádět úlohu na pozadí a používat terminál k jinému účelu. Řízení práce je vyvinuté dovolit uživateli spouštět programy na pozadí, posílat programy do pozadí, vracet procesy zpět do popředí, a spouštět a ukončovat běžící programy. Procesy pod kontrolou řízení práce nazýváme úlohy – .

Historie 
Řízení práce bylo poprvé implementováno v C shellu Jimem Kulpem, dále pak institutem IIASA v Austrálii použitím vlastností 4.1 BSD jádra.
Korn shell vyvinutý v Bell Labs jej převzal a bylo později začleněno do verze SVR4 Bourne shellu a existuje ve většině dnešních unixových shellů.

Implementace 
 Typicky si shell uchovává seznam úloh v tabulce úloh – . Úloha se skládá ze všech členů roury – . Tedy všechny procesy tvořící úlohu budou ve stejné skupině procesů.
 Program může být spuštěn jako úloha na pozadí přidáním & do příkazového řádku. Jeho výstup je směrován do terminálu (potenciálně prokládaný výstupem jiných programů), ale nemůže číst jeho vstup.
 Úloha běžící na pozadí může být ukončena zadáním pozastavujícího znaku (Ctrl-Z). To pošle procesové skupině SIGTSTP a vrátí kontrolu shellu.

 Zastavená úloha může být obnovena jako úloha na pozadí pomocí bg builtin nebo jako úloha v popředí pomocí fg. V obou případech shell vhodně přesměruje I/O a pošle SIGCONT procesu.
 jobs vypíše procesy běžící na pozadí z tabulky úloh, spolu s jejím číslem úlohy a stavem (zastavený nebo běžící).
 kill (nikoliv /bin/kill) můžeme vyslat úloze pomocí jejího ID stejně jako ID procesu: úlohy specifikované jejich ID mohou být ukončeny pomocí prefixu „%“. Kill může vyslat úloze jakýkoliv signál. Nicméně v případě, že záměrem je zbavit systém procesů jsou signály SIGKILL a SIGTERM (výchozí) pravděpodobně nejvíce použitelné. Úloha běžící v popředí může být trvale přerušena zadáním ukončovacího znaku (Ctrl-C).
 disown může být použit k odebrání úlohy z tabulky úloh čímž ji změníme na démona, který může pokračovat v běhu po odhlášení uživatele.

ID úlohy 
ID úlohy –  je použito k identifikaci úloh shell builtinu. ID úloh začínají znakem %. %n identifikuje úlohu n, kdy %% identifikuje aktuální úlohu. Ostatní ID úloh jsou definována standardem POSIX.

Související články 
 C shell

Literatura

Reference

Externí odkazy 
 Job control in Bash

Unix