Tenk om en kritisk prosess kjører på systemet ditt, og det tar for lang tid. Plutselig må du logge ut av systemet. Hvis du logger ut, prosesser vil stoppe, og du vil sikkert ønsker å unngå dette. Hvis du vil din prosess for å fortsette uten avbrudd, så du trenger kommandoen nohup.
Nohup (står for ingen legg på) er en kommando som ignorerer HUP-signal. Du kanskje lurer på hva HUP-signal., Det er i utgangspunktet et signal som er levert til en prosess når den tilknyttede shell er avsluttet. Vanligvis, når vi logger ut, deretter alle programmer som kjører, og prosesser som finnes legg på eller stoppet. Hvis vi ønsker å fortsette å kjøre prosessen selv etter utlogging eller frakobling fra gjeldende shell, kan vi bruke kommandoen nohup. Det gjør prosessene immun mot HUP-signaler for å gjøre programmet kjøre selv etter at du har logget ut. Med nohup, vil du ikke lenger må logge inn for en lang tid bare å vente på at prosessen skal være fullført.,
I denne artikkelen, vi vil forklare hvordan du bruker kommandoen Nohup i ulike scenarier i Linux.,garding den nohup kommandoen, bruker du følgende kommando:
for Å finne informasjon versjon av nohup, bruker du følgende kommando:
Starte en prosess ved hjelp av Nohup
Hvis du ønsker å holde en kommando eller prosesser som kjører, selv om du går ut av skallet, bruk nohup etterfulgt av kommandoen for å utføre:
Når du kjører kommandoen ovenfor, alle produksjonen, sammen med feilmeldinger, vil bli lagt til nohup.,ut-fil i hjemmekatalogen eller i den gjeldende katalogen. Nå, hvis dekselet er lukket, eller du logger ut, over-utført kommandoen vil ikke være avsluttet.
Omdirigere utdata til ulike fil
standard utgang av nouhup kommandoen er lagt til nohup.ut filen. For å omadressere utgang til en annen fil, kan du bruke > omadressereren operatør etterfulgt av navnet på den spesifikke filen. For eksempel har vi brukt følgende kommando for å lagre utdataene for kommandoen nohup til en ny fil med navnet «myscript.sh».
Starte en prosess i bakgrunnen og bruker Nohup
for Å starte og sette prosessen i bakgrunnen, vil du trenger å bruke nohup som følger:
& symbolet forteller shell for å kjøre kommandoen i bakgrunnen. Det er lik den ovenfor kommandoen nohup bortsett fra at når økten avsluttes, går den tilbake umiddelbart til skallet. For å bringe det tilbake til forgrunnen, kan du bruke «fg» – kommandoen.,
Den ut av alle kommandoene du utfører vil bli lagt til etter nohup.ut filen. Du kan vise denne filen ved hjelp av katten nohup kommando i Terminalen. Antall 80132 i skjermbildet over viser prosessen identifikasjonsnummer (PID) av de prosesser som kjører i bakgrunnen.
Start for flere prosesser i bakgrunnen og bruker Nohup
Du kan kjøre flere kommandoer i bakgrunnen ved å bruke kommandoen nohup. I følgende eksempel, mkdir, ping, og ls kommandoer utføres i bakgrunnen ved hjelp av kommandoen nohup.,
ping -c 1 google.com && ls’> utdata.txt
Avslutte prosesser som kjører i bakgrunn
for Å avslutte en prosess som kjører i bakgrunnen, kan du bruke drepe kommando som følger:
Du vil finne PID av en prosess når du bruker nohup med «&»., En annen måte å finne PID er gjennom pgrep –en kommando. For eksempel, hvis du har kjørt Ping-kommandoen med nohup, det vil fortsette å kjøre i bakgrunnen selv om du lukker dekselet. Nå i dette tilfellet, for å finne PID av en Ping prosesser som kjører i bakgrunnen, kan du bruke denne kommandoen:
Det vil liste alle prosesser knyttet til Ping-kommandoen.,
Nå å avslutte Ping prosesser som kjører i bakgrunnen, kan du bruke drepe kommando som følger:$ kill -9 80928So, dette var en kort introduksjon av kommandoen nohup i Linux. Kommandoen Nohup er brukt for å forhindre en viktig prosess fra å være avsluttet når du logger ut eller lukker økt. Det hjelper mye når du kjører en prosess, spesielt skript som det tar lang tid å fullføre.