Android

Linux nohup-komento

nohup - Run Commands in the Background - Linux CLI

nohup - Run Commands in the Background - Linux CLI

Sisällysluettelo:

Anonim

nohup komento suorittaa toisen argumenttina määritellyn ohjelman ja ohittaa kaikki SIGHUP (hangup) -signaalit. SIGHUP on signaali, joka lähetetään prosessille, kun sen ohjauspääte suljetaan.

Yleensä, kun suoritat ohjelmaa SSH: n kautta, jos yhteys katkeaa tai kirjaudut ulos, istunto lopetetaan ja kaikki terminaalista suoritetut prosessit pysähtyvät. Tässä kohtaa nohup komento on kätevä. Se ohittaa kaikki hangup-signaalit ja prosessi jatkuu.

Kuinka käyttää nohup-komentoa

nohup komennon syntaksi on seuraava:

nohup COMMAND

Komento ei hyväksy muita vaihtoehtoja kuin tavallinen --help ja --version .

Katsotaanpa seuraavaa esimerkkiä:

nohup mycommand

nohup: ignoring input and appending output to 'nohup.out'

nohup suorittaa mycommand komennon etualalla ja ohjaa komennon ulostulon nohup.out tiedostoon. Tämä tiedosto luodaan nykyiseen työhakemistoon. Jos komentoa käyttävällä käyttäjällä ei ole kirjoitusoikeuksia toimivaan hakemistoon, tiedosto luodaan käyttäjän kotihakemistoon.

Jos kirjaudut ulos tai suljet terminaalin, prosessia ei lopeteta.

Komennon suorittaminen taustalla

nohup käyttäminen etualalla ei ole kovin hyödyllistä, koska et voi olla vuorovaikutuksessa kuoren kanssa ennen kuin komento on valmis.

Jos haluat suorittaa komennon taustalla, lisää & -kuvake komennon loppuun:

nohup mycommand &

Tuloste sisältää shell-työn tunnuksen (suluilla ympäröimä) ja prosessin tunnuksen:

25177

Voit käyttää työn tunnusta tuodaksesi komennon etualalle fg komennon avulla.

Jos haluat jostain syystä lopettaa prosessin, käytä kill komentoa, jota seuraa prosessin tunnus:

kill -9 25132

Lähdön ohjaaminen tiedostoon

Oletuksena nohup ohjaa komennon ulostulon nohup.out tiedostoon. Jos haluat ohjata tulosteen toiseen tiedostoon, käytä normaalia kuoren uudelleenohjausta.

Esimerkiksi, ohjataksesi mycommand.out ja vakiovirheen mycommand.out jota käyttäisit:

nohup mycommand > mycommand.out 2>&1 &

Normaalilähdön ja vakiovirheen ohjaaminen eri tiedostoihin:

nohup mycommand > mycommand.out 2> mycommand.err &

vaihtoehtoja

On olemassa useita vaihtoehtoisia ohjelmia, joiden avulla voit välttää komennon lopettamisen, kun suljet terminaalin tai katkaiset yhteyden.

kuvaruutu

Näyttö tai GNU-näyttö on pääte multiplekseriohjelma, jonka avulla voit aloittaa näyttöistunnon ja avata minkä tahansa määrän ikkunoita (virtuaalisia päätteitä) kyseisen istunnon sisällä. Näytössä käynnissä olevat prosessit jatkuvat, kun niiden ikkuna ei ole näkyvissä, vaikka irrotatkin yhteyden.

TMUX: illa

Tmux on moderni vaihtoehto GNU-näytölle. Tmuxilla voit myös luoda istunnon ja avata useita ikkunoita kyseisen istunnon sisällä. Tmux-istunnot ovat jatkuvia, mikä tarkoittaa, että Tmux-ohjelmassa käynnissä olevat ohjelmat jatkuvat, vaikka suljetkin päätteen.

olla tunnustamatta

disown on shell-kokoonpano, joka poistaa shell-työn shell-työn ohjauksesta. Toisin kuin nohup , voit käyttää disown myös käynnissä disown prosesseissa.

johtopäätös

nohup antaa sinun estää komentojen lopettamisen, kun kirjaudut ulos tai pääte terminaalista.

nohup-pääte