Jokainen Linuxin komento käynnistää sen suoritushetkellä prosessin, joka päättyy automaattisesti päätteestä poistuttaessa. Oletetaan, että suoritat ohjelmia SSH:n kautta ja jos yhteys katkeaa, istunto katkaistaan, kaikki suoritetut prosessit pysähtyvät ja saatat kohdata valtavan vahingossa tapahtuvan kriisin. Tällaisissa tapauksissa komentojen suorittaminen taustalla voi olla erittäin hyödyllinen käyttäjälle, ja tämä on paikka nohup-komento tulee kuvaan. nohup (ei puhelua) on komento Linux-järjestelmissä, joka suorittaa prosessin myös sen jälkeen, kun olet kirjautunut ulos komentotulkista/päätteestä.
Nohupin komento
Yleensä jokainen prosessi Linux-järjestelmissä lähetetään a SIGHUP (Signaalin katkaiseminen) joka on vastuussa prosessin lopettamisesta terminaalin sulkemisen/poistumisen jälkeen. Nohup-komento estää prosessia vastaanottamasta tätä signaalia, kun se suljetaan tai poistutaan terminaalista/kuoresta. Kun työ käynnistetään tai suoritetaan nohup-komennolla, stdin ei ole käyttäjän saatavilla ja nohup.out tiedostoa käytetään oletustiedostona stdout ja stderr . Jos nohup-komennon tulos ohjataan johonkin toiseen tiedostoon, nohup.out tiedostoa ei luoda.
Nohup-komennon syntaksi
Nohup-komennon syntaksi on yksinkertainen:
tee shell-skripti suoritettavaksi
nohup command [options] &>
-
`command`>: Määrittää komennon tai komentosarjan, jonka haluat suorittaa. -
`[options]`>: Valinnaiset argumentit tai liput, jotka muuttavat komennon toimintaa. -
`&`>: Et-merkin (&) sijoittaminen komennon loppuun ohjaa komentotulkkia suorittamaan komennon taustalla.
Työskentely nohup Commandin kanssa
- Tarkistetaan Nohupin versiota
- Prosessin aloittaminen Nohupia käyttämällä
- Prosessin käynnistäminen taustalla Nohupin avulla
- Useiden komentojen suorittaminen taustalla
Tarkistetaan Nohupin versiota
Nohupin version tarkistaminen on yksinkertainen prosessi. Voit yleensä tarkistaa järjestelmääsi asennetun Nohupin version käyttämällä ` --version`> lippu. Suorita yksinkertaisesti seuraava komento:
nohup --version>
Lähtö:
Prosessin aloittaminen Nohupia käyttämällä
Aloita prosessi Nohupilla yksinkertaisesti lisäämällä haluamasi komennon eteennohup>. Jos esimerkiksi haluat suorittaa bash-komentosarjan nimeltägeekfile.py>käyttämällä Nohupia, käytät seuraavaa komentoa:
nohup bash geekfile.sh>
Lähtö:
java monisäikeinen
Voit ohjata lähdön uudelleen osoitteeseen output.txt tiedosto:
nohup bash geekfile.sh>output.txt>
Lähtö:
mitä eroa on megatavulla ja gigatavulla
Prosessin käynnistäminen taustalla Nohupin avulla
Jos haluat suorittaa komennon taustalla, &' symboli liitetään komennon loppuun. Suorituksen jälkeen se ei palaa shell-komentokehotteeseen sen jälkeen, kun komento on suoritettu taustalla. Se voidaan tuoda takaisin etualalle fg komento.
nohup bash geekfile.sh & fg>
Lähtö:
Huomautus: Hakasulkeissa oleva numero edustaa työtunnus ja sen vieressä oleva numero on prosessin tunnus .
Useiden komentojen suorittaminen taustalla
nohup-komentoa voidaan käyttää useiden komentojen suorittamiseen taustalla.
nohup bash -c 'commands'>
Esimerkki:
nohup bash -c 'cal && ls'>
Lähtö:
Tässä tuloste tallennetaan oletusarvoisesti nohup.out . Voit ohjata sen uudelleen kirjoittamalla:
nohup bash -c 'commands'>tiedostonimi.txt>
Esimerkki:
nohup bash -c 'cal && ls'>output.txt>
Lähtö:
jousenrakentaja
nohup-komento Linuxissa – UKK
Mikä on nohup> komento Linuxissa, ja mitä se tekee?
The
nohup>komento tarkoittaa puhelun lopettamista. Sen avulla voit suorittaa komennon tai komentosarjan siten, että se jatkaa toimintaansa myös uloskirjautumisen tai päätteen sulkemisen jälkeen. Tämä estää komentoa lopettamasta pääteistunnon päättyessä.bin to bcd
Kuinka käytän nohup> komento?
Käyttää
nohup>, liitä se sen komennon eteen, jonka haluat suorittaa. Esimerkiksi:nohup command_to_run &>The
&>lopussa oleva symboli asettaa komennon taustalle, jolloin voit jatkaa päätteen käyttöä komennon suorittamisen aikana.
Missä nohup> lähettää komennon tulosteen?
Oletuksena,
nohup>uudelleenohjaa sekä vakiotulosteen (stdout) että vakiovirheen (stderr) tiedostoon nimeltänohup.out>nykyisessä hakemistossa. Voit halutessasi määrittää toisen tulostustiedoston.
Voinko käyttää nohup> interaktiivisilla komennoilla tai ohjelmilla?
Sillä aikaa
nohup>käytetään tyypillisesti ei-vuorovaikutteisten komentojen tai komentosarjojen kanssa, voit käyttää sitä interaktiivisten komentojen kanssa. Käyttäytyminen voi kuitenkin olla arvaamatonta, varsinkin jos komento odottaa syötteen käyttäjältä. Yleensä suositellaan välttämään käyttöänohup>interaktiivisilla ohjelmilla.
Kuinka voin tarkistaa käynnissä olevan komennon tilan nohup> ?
Siitä asti kun
nohup>suorittaa komennon taustalla, voit käyttää tavallisia Linux-työkaluja, kutenps>taitop>tarkistaaksesi prosessin tilan. Esimerkiksi:ps aux | grep>Tämä näyttää sinulle tietoja prosessista, mukaan lukien sen PID (Process ID), jonka avulla voit sitten hallita tai valvoa komentoa.
Johtopäätös
Linuxissa, kun suoritat komennon, se yleensä pysähtyy, kun suljet päätelaitteen. Mutta kanssa nohup> , voit pitää sen käynnissä myös terminaalin sulkemisen jälkeen. Tämä on erittäin kätevää, varsinkin jos suoritat komentoja etänä etkä halua niiden pysähtyvän, jos yhteys katkeaa.nohup>toimii suojaamalla komentoa signaaleilta, jotka normaalisti pysäyttävät sen. Lisäät vainnohup>ennen käskyäsi, ja se jatkuu. Voit myös lähettää komennon tulosteen tiedostoon. Muista vain, että se sopii parhaiten ei-interaktiivisiin tehtäviin, ja voit tarkistaa komentosi tilan esimerkiksi työkaluillaps>. Niin,nohup>on kuin turvaverkko komentoillesi ja varmistaa, että ne pitävät mukana, vaikka et katsoisi.