Operační systém Linux má možnost spustit příkaz na pozadí, což vám umožní pokračovat v práci se systémem, aniž byste čekali na dokončení prováděného procesu. Tento způsob funguje pro většinu příkazů a může být užitečný, když chcete dokončit úkol, který nějakou dobu trvá, ale nevyžaduje zásah uživatele.
Ke spuštění příkazu na pozadí můžete použít symbol ampersandu ( & ) na konci příkazu. Pokud například chcete zkopírovat soubor v pozadí, můžete použít příkaz cp file1 file2 &. Po provedení tohoto příkazu okamžitě obdržíte zpětný znak příkazového řádku a můžete pokračovat v práci.
Je důležité poznamenat, že pokud spustíte příkaz na pozadí, neuvidíte výstup tohoto příkazu v terminálu. Pokud chcete výstup příkazu, budete jej muset přesměrovat do souboru nebo nastavit proměnnou prostředí DISPLAY pro zobrazení grafického rozhraní.
Spuštění příkazu na pozadí v Linuxu: metody a výhody
Existuje několik způsobů, jak spouštět příkazy na pozadí v Linuxu. Jedním z nejběžnějších způsobů je použití ampersandu ( & ) na konci příkazu. Chcete-li například spustit příkaz sleep 10 na pozadí, můžeme napsat sleep 10 & . To nám umožní pokračovat v práci s terminálem ihned po spuštění příkazu.
Dalším způsobem je použití příkazu nohup . Například spustit příkaz. /script.sh na pozadí můžeme napsat nohup. /script.sh & . Příkaz nohup nám umožňuje provést příkaz i po zavření terminálu a výstup příkazu bude zaznamenán do souboru nohup.out v aktuálním adresáři.
Spuštění příkazu na pozadí má několik výhod. Jednou z hlavních výhod je schopnost provádět dlouhé úkoly a procesy, aniž byste museli nechat terminál otevřený. Pokud máme například úkol, který bude nějakou dobu trvat, můžeme jej spustit na pozadí a pokračovat v práci s terminálem. To nám umožňuje efektivně využívat čas a nedostávat průběžné výsledky na obrazovce.
Další výhodou spouštění příkazů na pozadí je možnost provádět více úkolů současně. Můžeme spouštět více příkazů a procesů na pozadí a sledovat jejich provádění.
Kromě toho nám spuštění příkazů na pozadí umožňuje sledovat stav provádění úkolu a přijímat oznámení o jeho dokončení. Pokud například spustíme příkaz, který bude nějakou dobu trvat, můžeme pomocí příkazu jobs sledovat stav úlohy a příkazu fg v případě potřeby vrátit úkol do popředí.
Spouštění příkazů na pozadí v Linuxu je výkonný nástroj, který nám umožňuje efektivně využívat systémové prostředky a spravovat procesy. To je užitečné pro provádění úkolů v pozadí, aniž bychom blokovali terminál, a umožňuje nám pokračovat v práci s jinými příkazy a aplikacemi.
Příkazy na pozadí: základní pojmy a příklady použití
Když spustíte příkazy v terminálu Linux, obvykle se provádějí v synchronním režimu, to znamená, že před přechodem na další musíte počkat na dokončení provádění jednoho příkazu. Linux však má možnost spustit příkaz na pozadí, aby byl spuštěn paralelně s jinými úkoly. To může být užitečné, když potřebujete provést dlouhý příkaz, který trvá dlouho, a chcete pokračovat v práci v terminálu bez čekání.
Ke spuštění příkazu na pozadí se používá symbol ampersandu ( & ) na konci příkazu. Například:
| Tým | Popis |
|---|---|
| sleep 10 & | Pozastaví spuštění terminálu na 10 sekund, což vám umožní pokračovat v práci s jinými týmy |
| ls -lR / & | Zobrazí seznam všech souborů a adresářů v systému |
Když je příkaz spuštěn na pozadí, neuvidíte výstup příkazu v terminálu. Místo toho uvidíte informace o PID (ID procesu) a čísle úlohy, což vám umožní ovládat provádění příkazu.
Chcete-li zjistit, které příkazy jsou spuštěny na pozadí, můžete použít příkaz jobs . Zobrazí se seznam aktivních úloh na pozadí a čísla úloh. Tato čísla můžete použít ke správě úloh, jako je jejich přenos do příkazů fg nebo bg .
Pokud chcete vrátit příkaz na pozadí do popředí a sledovat jeho provádění, můžete použít příkaz fg (foreground). Například fg %1 vrátí příkaz na pozadí s číslem 1 do popředí.
Pokud chcete odeslat příkaz na pozadí zpět do režimu pozadí, můžete použít příkaz bg (background). Například bg %1 odešle příkaz na pozadí s číslem 1 na pozadí.
Můžete také zastavit provádění příkazu na pozadí pomocí příkazu Ctrl + Z . Tím se zastaví provádění příkazu a způsobí návrat příkazu do terminálu. Příkaz můžete obnovit na pozadí pomocí příkazu bg .
Použití příkazů na pozadí může být velmi užitečné, zvláště když potřebujete provádět dlouhé úkoly paralelně s vaší hlavní prací v terminálu.
Užitečné pokyny pro spouštění příkazů na pozadí v Linuxu
Zde je několik užitečných pokynů pro spuštění příkazů na pozadí:
1. Použití ampersandu
Chcete-li spustit příkaz na pozadí, můžete na konci příkazu přidat symbol ampersandu ( & ). Například:
2. Použití příkazu nohup
Příkaz nohup vám umožňuje spustit příkaz na pozadí a ignorovat signály o ukončení terminálu. To je užitečné, když chcete, aby příkaz pokračoval v provádění i po uzavření terminálu. Například:
3. Použití řídicích znaků
Řídicí znaky, jako jsou ^z, ^C a ^D, lze použít ke správě příkazů na pozadí. Například:
^Z-zastavit provádění příkazu
bg-Obnovit spuštění příkazu na pozadí
jobs-seznam úkolů prováděných na pozadí
4. Přesměrování výstupu a chyb
Když spustíte příkaz na pozadí, výstup a chyby mohou být přesměrovány do souborů, aby se uložily výsledky provádění. Například:
ping google.com > output.txt 2>&1 &
V tomto příkladu bude výstup příkazu ping přesměrován do souboru output.txt a chyby budou přesměrovány do stejného souboru.
5. Použití programu screen
Program screen umožňuje vytvářet a spravovat virtuální terminálové relace. To je zvláště užitečné při práci s dlouhými a intenzivními úkoly na pozadí. Například:
screen
./script.sh
Ctrl+A, d-odpojit se od relace
screen-r-připojit se k existující relaci
Tato doporučení vám pomohou efektivně využít možnosti spouštění příkazů na pozadí v Linuxu a usnadnit provádění úkolů.