Pomocou príkazu Linuxu nohup váš systém ignoruje príkaz hangup HUP. To umožňuje procesom pokračovať v behu na pozadí. Jeho výstup je potom presmerovaný do súboru nohup.out alebo iného súboru podľa vášho výberu.

Čo je Linux nohup?

Aby sme pochopili, čo je príkaz nohup v systéme Linux, stojí za to pozrieť sa na SIGHUP. Ide o signál, ktorý sa v systéme Linux generuje okrem iného v prípade poruchy pripojenia na dátovej linke medzi operačným systémom a inou aplikáciou. Za určitých okolností je však potrebné, aby sa tento signál neposielal. Tak je to v prípade, ak má aplikácia pokračovať v prevádzke aj po odhlásení používateľa zo systému. Na potlačenie signálu a umožnenie pokračovania programu v pozadí sa používa Linux nohup.

Ako funguje príkaz nohup v systéme Linux?

Linux nohup je súčasťou všetkých bežných distribúcií Linuxu, ako sú Debian a Ubuntu, a preto nie je potrebné ho inštalovať samostatne. Môžete ho použiť na nariadenie systému, aby spustil konkrétny program na pozadí, čím ho oddelíte od prihlasovacieho shellu. Akýkoľvek výstup sa automaticky presmeruje do priečinka nohup.out. Pri dlhších procesoch to má tú výhodu, že sa môžete odhlásiť bez prerušenia procesu.

Ako vyzerá syntax Linux nohup?

Základná syntax príkazu nohup v systéme Linux je vždy rovnaká:

$ nohup [Command] [Argument] [&]
bash

„[Príkaz]“ a „[Argument]“ sú parametre, ktoré je možné prispôsobiť. Ak chcete, aby procesy pokračovali v behu na pozadí aj po odhlásení, použite „[&]“.

Aké možnosti má príkaz nohup?

Linux nohup neprijíma žiadne iné možnosti okrem dvoch štandardných „-h“ alebo „–help“ a „-v“ alebo „–version“. Iba v prípade, že nezadáte parameter pre „[príkaz]“, je povolená možnosť „-p“ alebo „–parents“.

Príklady použitia príkazu nohup v systéme Linux

Na záver vám ukážeme niekoľko príkladov, aby ste lepšie pochopili, ako tento príkaz funguje.

$ nohup bash example.sh
bash

Týmto sa príkaz vykoná v popredí. Výstup príkazu sa automaticky presmeruje do súboru nohup.out.

$ nohup bash example.sh > output.txt
bash

Tento príkaz presmeruje výstup do dokumentu output.txt.

$ nohup bash example.sh &
bash

Použitím tohto vstupu príkaz pretrvá a bude pokračovať vo vykonávaní na pozadí. Ak chcete tento stav zvrátiť a vrátiť príkaz do popredia, môžete použiť príkaz fg.

Prejsť na hlavné menu