Nohup (står for No Hangup) er en kommando som ignorerer HUP -signalet. Du lurer kanskje på hva HUP -signalet er. Det er i utgangspunktet et signal som leveres til en prosess når det tilknyttede skallet avsluttes. Vanligvis, når vi logger ut, er alle løpsprogrammene og prosessene hangup eller stoppet. Hvis vi ønsker å fortsette å kjøre prosessen selv etter innlogging eller frakobling fra det nåværende skallet, kan vi bruke nohup -kommandoen. Det gjør prosessene immun mot HUP -signaler for å få programmet til å kjøre selv etter logging. Med Nohup trenger du ikke lenger å logge inn i lang tid bare for å vente på at prosessen skal fullføres.
I denne artikkelen vil vi forklare hvordan du bruker nohup -kommandoen i forskjellige scenarier i Linux.
NOHUP -kommando -syntaks
For å bruke nohup -kommandoen, er syntaks:
$ nohup -kommando argumenter
eller
$ NOHUP -alternativer
For å finne hjelpen angående nohup -kommandoen, bruk følgende kommando:
$ NOHUP -HELP
For å finne versjonsinformasjonen til Nohup, bruk følgende kommando:
$ NOHUP -Versjon
Start en prosess med Nohup
Hvis du vil holde en kommando eller prosess i gang selv om du forlater skallet, bruk nohup etterfulgt av kommandoen for å utføre:
$ nohup -kommando
Når du har kjørt kommandoen ovenfor, vil all utdata, sammen med feilmeldingene, bli lagt til NOHUP.ut -filen i hjemmekatalogen eller i den gjeldende katalogen. Nå, hvis skallet er lukket eller du logger ut, vil ikke ovennevnte kommando avsluttes.
Omdirigere utdata til forskjellige filer
Som standard legges output fra nouhup -kommandoen til NOHUP.ut fil. For å omdirigere denne utdata til en annen fil, bruk> omdirigeringsoperatør etterfulgt av navnet på den spesifikke filen. For eksempel har vi brukt følgende kommando for å lagre utdataene fra Nohup -kommandoen til en ny fil som heter “MyScript.sh ”.
$ sudo nohup ./mn.sh> myscipt.sh &
Start en prosess i bakgrunnen ved hjelp av nohup
For å starte og sette prosessen i bakgrunnen, må du bruke NOHUP som følger:
$ nohup -kommando og
De Og symbolet ber skallet om å kjøre kommandoen i bakgrunnen. Det ligner på ovennevnte nohup -kommando bortsett fra at når økten avsluttes, kommer den umiddelbart tilbake til skallet. For å bringe det tilbake i forkant, bruk “FG” -kommandoen.
Utgangen til alle kommandoene du utfører vil bli lagt til NOHUP.ut fil. Du kan se denne filen ved hjelp av Cat Nohup -kommandoen i terminalen. Antallet 80132 I ovennevnte skjermbilde indikerer prosessidentifikasjonsnummeret (PID) for prosessen som kjører i bakgrunnen.
Start flere prosesser i bakgrunnen ved hjelp av nohup
Du kan kjøre flere kommandoer i bakgrunnen ved å bruke nohup -kommandoen. I det følgende eksemplet blir Mkdir, Ping og LS -kommandoer utført i bakgrunnen ved å bruke NOHUP -kommandoen.
$ NOHUP BASH -C 'MKDIR FILES &&
Ping -C 1 Google.com && ls '> output.tekst
Avslutte prosessen som kjører i bakgrunnen
For å avslutte en prosess som kjører i bakgrunnen, bruk Kill -kommandoen som følger:
$ Kill -9 PID
Du finner PID i en prosess når du bruker NOHUP med “&”. En annen måte å finne PID er gjennom PGREP -A -kommandoen. For eksempel, hvis du har kjørt Ping -kommandoen med Nohup, vil den fortsette å løpe i bakgrunnen selv om du lukker skallet. Nå i dette tilfellet, for å finne PID -en i en pingprosess som kjører i bakgrunnen, bruk denne kommandoen:
$ pgrep -a ping
Den vil liste opp alle prosessene tilknyttet Ping -kommandoen.
For å avslutte pingprosessen som kjører i bakgrunnen, bruk Kill Command som følger: $ Kill -9 80928SO, dette var den korte introduksjonen av Nohup -kommandoen i Linux. Nohup -kommandoen brukes til å forhindre at en viktig prosess blir avsluttet når du logger ut eller lukker økten. Det hjelper mye når du kjører en prosess, spesielt skript som tar lang tid å fullføre.