Linux-Kommandoen Nohup

nohup kommando utfører et annet program som er angitt som argument, og ignorerer alle SIGHUP (legg på) signaler. SIGHUP er et signal som sendes til en prosess når det kontrollerende terminalen er stengt.

Vanligvis, når du kjører et program over SSH, hvis tilkoblingen din synker eller du logge ut, og sesjonen er avsluttet, og alle prosesser som kjøres fra terminalen vil stoppe. Dette er hvor nohup – kommandoen kommer i hendig., Det ignorerer alle legg på signaler, og prosessen vil fortsette å kjøre.

Hvordan å Bruke Kommandoen nohup #

syntaks for nohup – kommandoen er som følger:

nohup COMMAND 

– kommandoen godtar ikke noen andre alternativer, bortsett fra standard --help og --version.,

La oss ta en titt på følgende eksempel:

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

nohup kjører mycommand – kommandoen i forgrunnen og omdirigeringer kommando ut til nohup.out – filen. Denne filen er opprettet i den gjeldende arbeidsmappen . Hvis brukeren kjører kommandoen ikke har skriverettigheter til arbeidsmappen, filen er opprettet i brukerens hjemmekatalog.

Hvis du logger ut eller lukker terminal, prosessen er ikke avsluttet.,

Kommandoen Kjøres i Bakgrunnen #

ved Hjelp av nohup i forgrunnen er ikke veldig nyttig, fordi du ikke vil være i stand til å samhandle med skall til kommandoen er fullført.

Å kjøre kommandoen i bakgrunnen , legge til & symbolet på slutten av kommandoen:

nohup mycommand &

utdata inkluderer shell jobb-ID-en (som er omgitt av klammer) og prosess-ID:

 25177

Du kan bruke jobb-ID-en til å ta kommandoen i forgrunnen ved å bruke fg – kommandoen.,

Hvis for noe grunn du ønsker å avslutte prosessen, bruk kill kommando etterfulgt av prosess-ID:

kill -9 25132

Omdirigere Utdata til en Fil #

standard nohup omdirigeringer kommandoen utgang til nohup.out – filen. Hvis du ønsker å omdirigere utdata til en annen fil, kan du bruke standard shell-omadressering.,

For eksempel, for å redirigere standard ut og standard feilmelding til mycommand.out du kan bruke:

nohup mycommand > mycommand.out 2>&1 &

for Å redirigere standard ut og standard feilmelding til forskjellige filer:

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

Alternativer #

Det er flere alternative programmer som du kan bruke til å unngå en kommando for å være avsluttet når du lukk terminal eller blir frakoblet.,

– Skjermen #

Skjerm eller GNU-Skjermen er en terminal multiplexer program som lar deg starte en skjerm session og åpne en rekke vinduer (virtuelle terminaler) inne i den økten. Prosesser som kjører på Skjermen vil fortsette å kjøre når vinduet er ikke synlig selv om du blir frakoblet.

Tmux #

Tmux er et moderne alternativ til GNU-skjermen. Med Tmux, kan du også opprette en økt og åpne flere vinduer inne på at økt. Tmux økter er vedvarende, noe som betyr at programmer som kjører i Tmux vil fortsette å kjøre selv om du lukk terminal.,

Disown #

disown er en shell-built-in som fjerner en shell jobb fra shell jobb kontroll. I motsetning til nohup, kan du bruke disown på prosesser som kjører for.

Konklusjon #

nohup kan du forhindre kommandoer fra å være avsluttet når du logger ut eller gå ut av terminalen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *