Výukový program príkazu Bash nohup
Význam nič je 'žiadne zavesenie„. Normálne, keď sa odhlásime zo systému, sú všetky spustené programy alebo procesy zablokované alebo ukončené. Ak chcete po odhlásení alebo ukončení operačného systému Linux spustiť akýkoľvek program, musíte použiť príkaz nohup. Existuje mnoho programov, ktorých dokončenie si vyžaduje veľa hodín. Na dokončenie úlohy príkazu sa nemusíme dlho prihlasovať. Tento typ programov môžeme nechať bežať na pozadí pomocou príkazu nohup a výstup skontrolovať neskôr. Príkladom použitia príkazu nohup je kontrola pamäte, reštart servera, synchronizácia atď. Ako môžete použiť nohup Príkaz na Ubuntu na spustenie programu na pozadí je uvedený v tomto výučbe.
Verziu príkazu nohup môžete skontrolovať pomocou nasledujúceho príkazu.
$ nohup - verzia
syntax príkazu nohup:
Príkaz nohup môžete použiť dvoma spôsobmi.
- príkaz nohup [args ...]
- možnosť nohup
Používanie nohup s príkazmi
Príklad-1: Použitie príkazu nohup bez znaku „&“
Keď spustíte príkaz nohup bez '& ' potom sa vráti do príkazového riadku shellu okamžite po spustení konkrétneho príkazu na pozadí. V nasledujúcom príklade, nič bežať bash príkaz bez '&' na vykonanie sleep1.sh súbor na pozadí. Výstupom z nič príkaz napíše nič.von súbor, ak v ňom nie je uvedený názov presmerovania nič príkaz. U nasledujúceho príkazu môžete skontrolovať výstup z režimu spánku1.sh kontrolou výstupu nohup.von spis.
$ nohup bash spánok1.š$ mačka nohup.von
Príkaz môžete vykonať nasledujúcim spôsobom, aby ste presmerovali výstup na výkon.TXT spis. Skontrolujte výstup výkon.TXT.
$ nohup bash spánok2.sh> výstup.TXT$ mačací výstup.TXT
Príklad-2: Použitie príkazu nohup s '&'
Kedy nič použitie príkazu s '& ' potom sa po spustení príkazu na pozadí nevráti do príkazového riadku shellu. Ale ak chcete, môžete sa vrátiť do príkazového riadku shellu zadaním 'fg '
$ nohup bash spánok1.š &$ fg
Príklad 3: Použitie príkazu nohup na spustenie viacerých príkazov na pozadí
Viaceré príkazy môžete spustiť na pozadí pomocou príkazu nohup. V nasledujúcom príkaze sa príkazy mkdir a ls vykonávajú na pozadí pomocou príkazov nohup a bash. Výstup príkazov môžete získať kontrolou výstupu.súbor txt.
$ nohup bash -c 'mkdir myDir && ls'> výstup.TXT$ mačací výstup.TXT
Príklad-4: Spustite ľubovoľný proces na pozadí pomocou nohup
Keď sa spustí ktorýkoľvek proces a používateľ zatvorí terminál pred dokončením úlohy prebiehajúceho procesu, proces sa zastaví normálne. Ak je proces spustený bez príkazu nohup, bude schopný proces spustiť na pozadí bez akýchkoľvek problémov. Napríklad, ak spustíte ping príkaz normálne, potom ukončí proces, keď zatvoríte terminál.
$ ping -i 10 google.com
Zoznam všetkých spustených príkazov môžete skontrolovať pomocou príkazu pgrep. Zatvorte terminál. Znova otvorte terminál a spustite pgrep veliť s -a možnosť. Nezobrazí sa žiadny zoznam spustených príkazov, pretože všetky spustené príkazy sú ukončené, keď bol terminál zatvorený.
$ pgrep -a ping
Bež ping príkaz s príkazom nohup. Znova otvorte terminál a spustite pgrep povel znova. Dostanete zoznam procesov s id procesu, ktorý je spustený.
$ nohup ping -i 15 google.com &$ pgrep -a ping
Akýkoľvek proces na pozadí môžete zastaviť spustením príkazu kill. Stačí spustiť príkaz kill s konkrétnym ID procesu, ktorý je spustený. Tu je ID procesu bežiaceho procesu 7015. Spustením príkazu kill v roku 7015 proces ukončíte.
$ kill 7015
Použitie príkazu nohup je vysvetlené na veľmi jednoduchých príkladoch v tomto tutoriále. Dúfam, že získate jasnú predstavu o funkcii príkazu nohup a budete schopní tento príkaz použiť na rôzne účely.