nohup
komento suorittaa toisen ohjelman määritelty sen väitettä, ja ohittaa kaikki SIGHUP
(hangup) signaaleja. SIGHUP
on signaali, joka lähetetään prosessi, kun sen määräysvaltaa terminaali on suljettu.
Yleensä, kun käynnistät ohjelman, SSH, jos yhteys putoaa tai kirjautua ulos, istunto on päättynyt, ja kaikki prosessit suoritetaan terminaalista pysähtyy. Tästä nohup
– komento tulee tarpeeseen., Se sivuuttaa kaikki ripustussignaalit,ja prosessi jatkuu.
Kuinka Käyttää nohup-Komennon #
syntaksi nohup
komento on seuraava:
nohup COMMAND
– komento ei hyväksy mitään muita vaihtoehtoja paitsi standardin --help
ja --version
.,
otetaanpa katso seuraava esimerkki:
nohup mycommand
nohup: ignoring input and appending output to 'nohup.out'
nohup
toimii mycommand
komento etualalla ja ohjaa komennon tulosteen nohup.out
tiedosto. Tämä tiedosto on luotu nykyiseen työhakemistoon . Jos komentoa käyttävällä Käyttäjällä ei ole kirjoitusoikeuksia työhakemistoon, tiedosto luodaan käyttäjän kotihakemistossa.
Jos kirjaudut ulos tai suljet terminaalin, prosessia ei lopeteta.,
Käynnissä Komennon Taustalla #
Käyttäen nohup
etualalla ei ole kovin hyödyllinen, koska et voi vuorovaikutuksessa shell, kunnes komento on suoritettu.
suorita-komennon taustalla , liittää &
symboli lopussa komento:
nohup mycommand &
lähtö sisältää kuoren job ID (ympäröi suluissa) ja prosessi ID:
25177
Voit käyttää job ID tuoda komento etualalle käyttäen fg
komento.,
Jos jostain syystä haluat lopettaa prosessin, käytä kill
komento jonka jälkeen prosessi ID:
kill -9 25132
Suuntaamaan Tulosteen Tiedostoon #
oletuksena, nohup
ohjaa komennon tulosteen nohup.out
tiedosto. Jos haluat ohjata tuotoksen toiseen tiedostoon, käytä standardikuoren uudelleenohjausta.,
esimerkiksi, ohjata standardin lähtö ja tavallinen virhe mycommand.out
voit käyttää:
nohup mycommand > mycommand.out 2>&1 &
ohjata standardi ulostulo ja keskivirhe eri tiedostot:
nohup mycommand > mycommand.out 2> mycommand.err &
Vaihtoehtoja #
On olemassa useita vaihtoehtoisia ohjelmia, joiden avulla voit välttää komento lopetetaan, kun suljet terminaalin tai katkeaa.,
Näyttö #
Näytön tai GNU Screen on terminal multiplexer ohjelma, jonka avulla voit aloittaa näytön istunnon ja avata minkä tahansa määrän windows (virtual terminaalit) sisällä, että istunto. Ruudussa toimivat prosessit jatkuvat, kun niiden ikkuna ei näy, vaikka yhteys katkeaisi.
Tmux #
Tmux on nykyaikainen vaihtoehto GNU screen. Tmux: n avulla voit myös luoda istunnon ja avata useita ikkunoita kyseisen istunnon sisällä. Tmux istunnot ovat pysyviä, mikä tarkoittaa, että ohjelmat käynnissä Tmux jatkuu, vaikka suljet terminaalin.,
Kieltämässä #
disown
on komentotulkin sisäänrakennettu, joka poistaa kuori työn kuori on työn hallintaa. Toisin kuin nohup
voit käyttää disown
käynnissä olevat prosessit myös.
Johtopäätös #
nohup
avulla voit estää komennot lopetetaan, kun kirjaudut ulos tai poistut terminaali.