Skip to content

Multitasking: Proces na pozadí a proces v popředí

12 de Červenec de 2021
linux logo 57b8b7183df78c8763bfa97a

Jako multitaskingový operační systém Linux podporuje provádění mnoha procesů – v zásadě programů nebo příkazů nebo podobných úkolů – na pozadí, zatímco budete pokračovat v práci v popředí.

Procesy v popředí

A proces v popředí je jakýkoli příkaz nebo úkol, který spustíte přímo a počkáte na jeho dokončení. Některé procesy v popředí ukazují určitý typ uživatelského rozhraní, které podporuje průběžnou interakci s uživatelem, zatímco jiné provádějí úkol a během jeho provádění počítač „zmrazí“. V prostředí začíná proces v popředí zadáním příkazu do příkazového řádku. Chcete-li například zobrazit jednoduchý seznam souborů v aktivním adresáři, zadejte: ls

type = „code“> Zobrazí se seznam souborů. Během přípravy a tisku tohoto seznamu počítač nemůžete z příkazového řádku dělat nic jiného. Poté, co se seznam souborů vytiskne na standardní výstup, znovu získáte přístup k výzvě prostředí.

Proces na pozadí

Na rozdíl od procesu v popředí nemusí shell čekat na proces na pozadí ukončit, než bude možné spustit více procesů. V rámci množství dostupné paměti můžete postupně zadávat mnoho příkazů na pozadí. Chcete-li spustit příkaz jako proces na pozadí, zadejte příkaz a na konec příkazu přidejte mezeru a ampersand. Například: command1 &

type = „code“> Když vydáte příkaz se závěrečným ampersandem, shell provede práci, ale místo toho, abyste čekali na dokončení příkazu, budete okamžitě vráceni do shellu. V tomto okamžiku můžete zadat další příkaz pro proces v popředí nebo na pozadí. Úlohy na pozadí se spouštějí s nižší prioritou než úlohy v popředí. Po dokončení procesu na pozadí se na obrazovce zobrazí zpráva.

Přepínání mezi procesy

Pokud proces v popředí trvá příliš dlouho, zastavte jej stisknutím Ctrl + Z. Zastavená úloha stále existuje, ale její provádění je pozastaveno. Chcete-li v úloze pokračovat, ale na pozadí, zadejte bg k odeslání zastavené úlohy na spuštění na pozadí. Chcete-li obnovit pozastavený proces v popředí, zadejte fg a tento proces převezme aktivní relaci. Chcete-li zobrazit seznam všech pozastavených procesů, použijte pracovní místa příkaz, nebo použijte horní Příkaz k zobrazení seznamu úloh nejvíce náročných na CPU, abyste je mohli pozastavit nebo zastavit a uvolnit tak systémové prostředky. Chcete-li změnit prioritu spuštění procesu, použijte pěkný a renice.

Shell vs. GUI

Multitasking funguje odlišně v závislosti na tom, zda pracujete z prostředí nebo z grafického uživatelského rozhraní. Linux z prostředí podporuje pouze jeden aktivní proces v popředí na jeden virtuální terminál. Z praktického hlediska uživatele však okenní prostředí (např. Linux s desktopem, nikoli z textového prostředí) podporuje několik aktivních oken, která účinně slouží jako více souběžných procesů v popředí. V praxi Linux v zákulisí upravuje prioritu procesů v grafickém uživatelském rozhraní s cílem podpořit stabilitu systému a podporu zpracování koncovým uživatelem.