logo

nohup-komento Linuxissa esimerkein

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

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, kuten ps> tai top> 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.