Otázka: Vím, jak provést unixový příkaz v popředí. Můžete mi prosím vysvětlit, jak mohu spustit příkaz Linuxu na pozadí?
Odpověď: Ke spuštění příkazu Linuxu nebo skriptu shellu na pozadí můžete použít jednu z 5 metod popsaných v tomto článku.
1. Proveďte příkaz na pozadí pomocí &
Příkaz (nebo skript shellu) můžete spustit jako úlohu na pozadí přidáním ampersandu k příkazu, jak je uvedeno níže.
$ ./my-shell-script.sh &
Přečtěte si Bg, Fg, &, Ctrl-Z – 5 příkladů pro správu úloh na pozadí Unix, abyste pochopili další podrobnosti.
2. Spusťte příkaz na pozadí pomocí příkazu nohup
Po provedení příkazu (nebo skriptu shellu) na pozadí pomocí &, pokud se odhlásíte z relace, příkaz bude ukončen. Abyste tomu zabránili, měli byste použít nohup, jak je uvedeno níže.
$ nohup ./my-shell-script.sh &
Přečtěte si Unix Nohup:Spusťte příkaz nebo skript Shell i po odhlášení, abyste pochopili další podrobnosti.
3. Spusťte příkaz pomocí příkazu obrazovky
Po provedení příkazu na pozadí pomocí nohoup a &se příkaz provede i po odhlášení. Nemůžete se však znovu připojit ke stejné relaci, abyste přesně viděli, co se děje na obrazovce. K tomu byste měli použít příkaz screen.
Příkaz obrazovky Linuxu nabízí možnost odpojit relaci, na které běží nějaký proces, a poté ji připojit později. Když relaci později znovu připojíte, vaše terminály tam budou přesně tak, jak jste je předtím opustili.
Další podrobnosti naleznete v části Příklady příkazů obrazovky:Získejte kontrolu nad Linuxem / Unixovým terminálem.
4. Provedení příkazu jako dávková úloha pomocí at
Pomocí příkazu at můžete naplánovat spuštění úlohy v určité datum a čas. Chcete-li například spustit zálohovací skript zítra v 10:00, proveďte následující.
$ at -f backup.sh 10 am tomorrow
Další podrobnosti naleznete v článku Pochopit příkazy at, atq, atrm, batch pomocí 9 příkladů.
Spouštění určitých úloh v dávkovém režimu vyžaduje povolení určitých voleb. Následující články vám to objasní.
- Jak zachytit výstup nejvyššího příkazu Unix do souboru v čitelném formátu
- Kalkulačka příkazového řádku Unix bc v dávkovém režimu
- Jak spustit SSH a SCP v dávkovém režimu (pouze když je povoleno přihlášení bez hesla)
5. Provádějte příkaz nepřetržitě pomocí watch
Chcete-li provádět příkaz nepřetržitě v určitém intervalu, použijte příkaz watch, jak je znázorněno níže.
$ watch df -h
Přečtěte si Watch:Opakujte Unixové příkazy nebo skripty Shell každých N sekund, abyste pochopili další podrobnosti.