Bash nohup kommandoveiledning
Meningen med nohup er 'ingen hangup'. Når vi logger ut av systemet, blir normalt alle kjørende programmer eller prosesser lagt på eller avsluttet. Hvis du vil kjøre et program etter at du har logget av eller avslutter Linux-operativsystemet, må du bruke nohup-kommandoen. Det er mange programmer som krever mange timer å fullføre. Vi trenger ikke å logge på lenge for å fullføre kommandoen. Vi kan holde denne typen programmer i gang i bakgrunnen ved å bruke nohup-kommandoen og sjekke utdataene senere. Noen eksempler på bruk av nohup-kommandoen er minnesjekk, serverstart, synkronisering osv. Hvordan du kan bruke en nohup kommandoen på Ubuntu for å kjøre et program i bakgrunnen vises i denne veiledningen.
Du kan sjekke versjonen av nohup-kommandoen ved å bruke følgende kommando.
$ nohup - versjon
nohup kommandosyntaks:
Du kan bruke nohup-kommandoen på to måter.
- nohup-kommando [args…]
- nohup-alternativet
Bruker nohup med kommandoer
Eksempel 1: Bruke nohup-kommando uten '&'
Når du kjører nohup-kommando uten '& ' så går den tilbake til shell-ledeteksten umiddelbart etter å ha kjørt den aktuelle kommandoen i bakgrunnen. I det følgende eksemplet, nohup løpe bash kommando uten '&' for å utføre søvn 1.sh-fil i bakgrunnen. Resultatet av nohup kommandoen vil skrive inn nohup.ute filen hvis noe omdirigerende filnavn ikke er nevnt i nohup kommando. For følgende kommando kan du sjekke utdataene til sleep1.sh ved å sjekke utgangen av nohup.ut fil.
$ nohup bash sleep1.sh$ katt nohup.ute
Du kan utføre kommandoen på følgende måte for å omdirigere utdataene til produksjon.tekst fil. Sjekk utdataene fra produksjon.tekst.
$ nohup bash sleep2.sh> utgang.tekst$ kattutgang.tekst
Eksempel 2: Bruk nohup-kommando med '&'
Når nohup kommandobruk med '& ' da kommer den ikke tilbake til shell-ledeteksten etter å ha kjørt kommandoen i bakgrunnen. Men hvis du vil, kan du gå tilbake til shell-ledeteksten ved å skrive 'fg '
$ nohup bash sleep1.sh &$ fg
Eksempel 3: Bruk nohup-kommandoen til å kjøre flere kommandoer i bakgrunnen
Du kan kjøre flere kommandoer i bakgrunnen ved å bruke nohup-kommandoen. I den følgende kommandoen utføres kommandoen mkdir og ls i bakgrunnen ved å bruke nohup- og bash-kommandoer. Du kan få utdataene fra kommandoene ved å sjekke utdataene.txt-fil.
$ nohup bash -c 'mkdir myDir && ls'> utdata.tekst$ kattutgang.tekst
Eksempel 4: Start en hvilken som helst prosess i bakgrunnen ved å bruke nohup
Når en prosess starter og brukeren stenger terminalen før han fullfører oppgaven med den kjørende prosessen, stopper prosessen normalt. Hvis du kjører prosessen med nohup, vil den kunne kjøre prosessen i bakgrunnen uten problemer. For eksempel hvis du kjører ping kommandoen normalt, så vil den avslutte prosessen når du lukker terminalen.
$ ping -i 10 google.com
Du kan sjekke listen over alle kommandoer som kjører ved å bruke pgrep-kommandoen. Lukk terminalen. Åpne terminalen på nytt og kjør pgrep kommando med -en alternativ. Ingen liste over kjørende kommandoer vises fordi alle kommandoer som kjører, avsluttes da terminalen ble stengt.
$ pgrep -a ping
Løpe ping kommando med nohup-kommando. Åpne terminalen på nytt og kjør pgrep kommandoen igjen. Du får listen over prosessen med prosess-ID som kjører.
$ nohup ping -i 15 google.com &$ pgrep -a ping
Du kan stoppe hvilken som helst bakgrunnsprosess ved å kjøre kill-kommandoen. Bare kjør kill-kommando med bestemt prosess-ID som kjører. Her er prosess-ID-en for den kjørende prosessen 7015. Kjør kill kill i 7015 for å avslutte prosessen.
$ drepe 7015
Bruken av nohup-kommandoen forklares ved å bruke veldig enkle eksempler i denne opplæringen. Håper du vil få en klar ide om funksjonen til nohup-kommandoen og være i stand til å bruke denne kommandoen til forskjellige formål.