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:
najít informace o verzi nohup, použijte následující příkaz:
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:
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“.
Spustit proces na pozadí pomocí Nohup
spustit a dát procesu v pozadí, budete muset použít nohup takto:
& 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.,
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:
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:
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í.