Multitasking: procesy na pozadí a proces popredia

Ako operačný systém s viacerými úlohami Linux podporuje pozadie vykonávania mnohých procesov - v podstate programov alebo príkazov alebo podobných úloh - na pozadí, zatiaľ čo naďalej pracujete v popredí.

Procesy popredia

Proces popredia je akýkoľvek príkaz alebo úloha, ktorú spustíte priamo a počkajte, kým sa dokončí. Niektoré procesy popredia ukazujú určitý typ používateľského rozhrania, ktoré podporuje priebežnú interakciu používateľa, zatiaľ čo iní vykonávajú úlohu a "zmrazia" počítač, kým dokončí túto úlohu.

Z shell, proces v popredí začína zadaním príkazu na výzvu. Ak chcete napríklad vidieť jednoduchý zoznam súborov v aktívnom adresári, zadajte:

$ ls

Zobrazí sa zoznam súborov. Zatiaľ čo počítač pripravuje a tlačí tento zoznam, nemôžete urobiť nič iné z príkazového riadku.

Proces pozadia

Na rozdiel od procesov v popredí, shell nemusí čakať na ukončenie procesu na pozadí predtým, než môže spustiť viac procesov. V medziach množstva dostupnej pamäte môžete zadávať niekoľko príkazov pozadia jeden po druhom. Ak chcete spustiť príkaz ako proces na pozadí, zadajte príkaz a pridajte medzeru a ampersand na koniec príkazu. Napríklad:

$ command1 &

Keď zadáte príkaz s koncovým ampersandom, shell vykoná prácu, ale namiesto toho, aby ste čakali na dokončenie príkazu, okamžite sa vrátite do shell a zobrazí sa výzva na shell (% pre C Shell a $ za Bourne Shell a Korn Shell). V tomto okamihu môžete zadať iný príkaz buď na popredí, alebo na pozadí. Pracovné úlohy na pozadí sú spustené s nižšou prioritou na úlohy v popredí.

Po spustení procesu na pozadí sa na obrazovke zobrazí správa.

Prepínanie medzi procesmi

Ak proces v popredí vezme príliš veľa času, zastavte ho stlačením klávesov CTRL + Z. Zastavená úloha stále existuje, ale jeho vykonanie je pozastavené. Ak chcete pokračovať v úlohe, ale na pozadí, zadajte príkaz bg na odoslanie zastavenej úlohy na vykonanie pozadia.

Ak chcete obnoviť pozastavený proces v popredí, zadajte príkaz fg a tento proces prevezme aktívnu reláciu.

Ak chcete zobraziť zoznam všetkých pozastavených procesov, použite príkaz úloh alebo použite príkaz top na zobrazenie zoznamu úloh s väčšou náročnosťou na procesor, aby ste mohli pozastaviť alebo zastaviť uvoľnenie systémových zdrojov.

Shell vs. GUI

Multitasking funguje inak v závislosti od toho, či pracujete zo shell alebo grafického používateľského rozhrania . Linux z shell podporuje iba jeden aktívny proces popredia na virtuálny terminál. Z praktického pohľadu používateľa však prostredie s oknami (napr. Linux s desktopom a nie textový shell) podporuje niekoľko aktívnych okien, ktoré účinne slúžia ako viaceré súčasné procesy popredia. V praxi Linux v zákulisí upravuje prioritu procesov v GUI na podporu stability systému a podporu spracovania koncového používateľa.