Představte si, že v systému běží kritický proces a trvá dlouho. Najednou se musíte odhlásit ze svého systému. Pokud se odhlásíte, Vaše procesy se zastaví a určitě se tomu budete chtít vyhnout. Pokud chcete, aby váš běžící proces pokračoval bez přerušení, potřebujete příkaz nohup.

Nohup (zkratka pro no hangup) je příkaz, který ignoruje HUP signál. Možná se divíte, co je HUP signál., Je to v podstatě signál, který je dodáván do procesu, když je jeho přidružený shell ukončen. Obvykle, když se odhlásíme, jsou všechny spuštěné programy a procesy zavěšeny nebo zastaveny. Pokud chceme pokračovat v běhu procesu i po odhlášení nebo odpojení od aktuálního shellu, můžeme použít příkaz nohup. To dělá procesy imunní vůči HUP signály, aby se program spustit i po odhlášení. S nohup, již nebudete muset přihlásit na dlouhou dobu jen čekat na proces, který má být dokončen.,

v tomto článku vysvětlíme, jak používat příkaz Nohup v různých scénářích v Linuxu.,garding the nohup příkaz, použijte následující příkaz:

$ nohup –help

najít informace o verzi nohup, použijte následující příkaz:

$ nohup –version

Začněte proces pomocí Nohup

Pokud chcete, aby příkaz nebo proces běží, i když ukončení shellu, pomocí nohup následuje příkaz, který chcete spustit:

$ nohup příkaz

po spuštění výše uvedený příkaz, všechny výstupy, spolu s chybové zprávy, budou přidány do nohup.,out soubor v domovském adresáři nebo v aktuálním adresáři. Nyní, pokud je shell uzavřen nebo se odhlásíte, výše provedený příkaz nebude ukončen.

přesměrovat výstup na jiný soubor

ve výchozím nastavení je výstup příkazu nouhup přidán do nohup.ze spisu. Chcete-li přesměrovat tento výstup na jiný soubor, použijte > operátor přesměrování následovaný názvem konkrétního souboru. Například, jsme použili následující příkaz uložit výstup nohup příkaz nový soubor s názvem „myscript.sh“.

$ sudo nohup ./min.,sh > myscipt.sh &

Spustit proces na pozadí pomocí Nohup

spustit a dát procesu v pozadí, budete muset použít nohup takto:

$ nohup příkaz &

& symbol vypráví shell spustit příkaz v pozadí. Je podobný výše uvedenému příkazu nohup, kromě toho, že po ukončení relace se okamžitě vrátí do řádku shellu. Chcete-li jej vrátit zpět do popředí, použijte příkaz „fg“.,

výstup všech příkazů, které provedete, bude připojen k nohup.ze spisu. Tento soubor můžete zobrazit pomocí příkazu Cat nohup v terminálu. Číslo 80132 na výše uvedeném snímku obrazovky označuje identifikační číslo procesu (PID) procesu běžícího na pozadí.

Spustit více procesů na pozadí pomocí Nohup

můžete spustit více příkazů na pozadí pomocí nohup příkaz. V následujícím příkladu jsou příkazy mkdir, ping a ls prováděny na pozadí pomocí příkazu nohup.,

$ nohup bash -c ‚mkdir soubory &&
ping -c 1 google.com && ls‘> výstup.txt

Ukončit proces běžící na pozadí

ukončit proces běžící na pozadí, použijte příkaz kill takto:

$ kill -9 PID

najdete PID procesu, při použití nohup s „&“., Dalším způsobem, jak najít PID, je příkaz pgrep –a. Například, pokud jste spustili příkaz Ping s nohup, bude to stále běží na pozadí, i když zavřete shell. Nyní v tomto případě, najít PID Ping proces běží na pozadí, použijte tento příkaz:

$ pgrep –ping

vypíše všechny procesy spojené s příkazu Ping.,

ukončit Ping proces běží na pozadí, použijte příkaz takto:$ kill -9 80928So, to byl stručný úvod nohup příkaz v Linuxu. Příkaz Nohup se používá k zabránění ukončení důležitého procesu při odhlášení nebo ukončení relace. To hodně pomáhá při spuštění procesu, zejména skripty, které trvají dlouhou dobu k dokončení.