Jak používat příkaz nohup v systému Linux k udržení procesů v chodu
Pomocí příkazu nohup v systému Linux systém ignoruje příkaz hangup HUP. Díky tomu mohou procesy pokračovat v běhu na pozadí. Jeho výstup je poté přesměrován do souboru nohup.out nebo jiného souboru podle vašeho výběru.
Co je Linux nohup?
Abychom pochopili, co je příkaz nohup v systému Linux, je třeba se podívat na SIGHUP. Jedná se o signál, který je generován v systému Linux mimo jiné v případě selhání připojení na datové lince mezi operačním systémem a jinou aplikací. Za určitých okolností je však nutné, aby tento signál nebyl odeslán. To je případ, kdy má aplikace pokračovat v běhu i poté, co se uživatel odhlásil ze systému. K potlačení signálu a umožnění pokračování běhu programů na pozadí se používá Linux nohup.
Jak funguje příkaz nohup v systému Linux?
Linux nohup je součástí všech běžných distribucí Linuxu, jako jsou Debian a Ubuntu, a proto není nutné jej instalovat samostatně. Můžete jej použít k tomu, abyste systému zadali spuštění konkrétního programu na pozadí, čímž jej oddělíte od přihlašovacího shellu. Veškerý výstup je automaticky přesměrován do složky nohup.out. U delších procesů to má tu výhodu, že se můžete odhlásit, aniž byste proces přerušili.
Jak vypadá syntaxe příkazu nohup v systému Linux?
Základní syntaxe příkazu nohup v systému Linux je vždy stejná:
$ nohup [Command] [Argument] [&]bash„[Příkaz]“ a „[Argument]“ jsou parametry, které lze přizpůsobit. Chcete-li umožnit procesům pokračovat v běhu na pozadí po odhlášení, použijte „[&]“.
Jaké možnosti má příkaz nohup?
Linux nohup nepřijímá žádné jiné volby než dvě standardní „-h“ nebo „–help“ a „-v“ nebo „–version“. Pouze v případě, že nezadáte parametr pro „[příkaz]“, je povolena volba „-p“ nebo „–parents“.
Příklady použití příkazu nohup v systému Linux
Na závěr vám pro lepší pochopení fungování příkazu ukážeme několik příkladů.
$ nohup bash example.shbashTím se příkaz spustí na popředí. Výstup příkazu se automaticky přesměruje do souboru nohup.out.
$ nohup bash example.sh > output.txtbashTento příkaz přesměruje výstup do dokumentu output.txt.
$ nohup bash example.sh &bashPoužitím tohoto vstupu bude příkaz pokračovat a pokračovat ve spuštění na pozadí. Pokud chcete tento stav zvrátit a vrátit příkaz do popředí, můžete spustit příkaz fg.