Přejít na hlavní obsah

Spuštění příkazu na pozadí v Linuxu: vše, co potřebujete vědět

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ýmPopis
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ů.