Forestil dig, om en kritisk proces kører på dit system og tager lang tid. Pludselig skal du logge ud af dit system. Hvis du logger ud, stopper dine processer, og du vil helt sikkert undgå dette. Hvis du ønsker, at din kørende proces skal fortsættes uden afbrydelse, har du brug for nohup-kommando.

Nohup (står for no hangup) er en kommando, der ignorerer HUP-signalet. Du spekulerer måske på, hvad HUP-signalet er., Det er dybest set et signal, der leveres til en proces, når den tilhørende skal afsluttes. Normalt, når vi logger ud, bliver alle kørende programmer og processer hængt op eller stoppet. Hvis vi vil fortsætte med at køre processen, selv efter logout eller frakobling fra den aktuelle skal, kan vi bruge nohup-kommandoen. Det gør processerne immune over for HUP-signaler for at få programmet til at køre, selv efter log ud. Med nohup behøver du ikke længere at logge ind i lang tid bare for at vente på, at processen er afsluttet.,

i denne artikel vil vi forklare, hvordan du bruger nohup-kommandoen i forskellige scenarier i Linu..,garding nohup kommando, skal du bruge følgende kommando:

$ nohup –help

for At finde oplysninger om versionen af nohup, skal du bruge følgende kommando:

$ nohup –version

Starte en proces med Nohup

Hvis du ønsker at holde en kommando eller en proces, der kører, selvom du forlader shell, bruge nohup efterfulgt af den kommando, der skal udføres:

$ nohup kommando

Når du køre ovenstående kommando, alle de output, sammen med de fejlmeddelelser, vil blive tilføjet til nohup.,i hjemmemappen eller i den aktuelle mappe. Nu, hvis skallen er lukket, eller du logger ud, vil den ovenfor udførte kommando ikke blive opsagt.

Omdiriger output til anden fil

som standard tilføjes output fra nouhup-kommandoen til nohup.ud fil. For at omdirigere dette output til en anden fil skal du bruge > redirector operator efterfulgt af navnet på den specifikke fil. For eksempel har vi brugt følgende kommando til at gemme output af nohup kommando til en ny fil med navnet “myscript.sh”.

$ sudo nohup ./ mn.,sh > myscipt.sh &

Starte en proces i baggrunden ved hjælp af Nohup

for At starte og sætte den proces i baggrunden, vil du nødt til at bruge nohup som følger:

$ nohup kommando &

& symbolet fortæller shell til at køre kommandoen i baggrunden. Det ligner ovenstående nohup-kommando, bortset fra at når sessionen slutter, vender den straks tilbage til shell-prompten. For at bringe det tilbage til forkant skal du bruge kommandoen “FG”.,

udgangen af alle de kommandoer, du udfører, vil blive tilføjet til nohup.ud fil. Du kan se denne fil ved hjælp af cat nohup-kommandoen i terminalen. Nummeret 80132 i ovenstående skærmbillede angiver procesidentifikationsnummeret (PID) for processen, der kører i baggrunden.

Start flere processer i baggrunden ved hjælp af Nohup

Du kan køre flere kommandoer i baggrunden ved hjælp nohup kommando. I det følgende eksempel udføres mkdir -, ping-og ls-kommandoer i baggrunden ved hjælp af nohup-kommando.,

$ nohup bash -c ‘mkdir-filer &&
ping -c 1 google.com && ls’> output.txt

Afslutte proces, der kører i baggrunden

for At afslutte en proces, der kører i baggrunden ved brug af kill kommandoen som følger:

$ kill -9 PID

Du vil finde en proces ‘ PID, når du bruger nohup med “&”., En anden måde at finde pid på er gennem pgrep –a-kommandoen. For eksempel, hvis du har kørt Ping-kommandoen med nohup, fortsætter den med at køre i baggrunden, selvom du lukker skallen. I dette tilfælde skal du bruge denne kommando for at finde PID for en Ping-proces, der kører i baggrunden:

$ pgrep –a ping

det viser alle processer, der er forbundet med ping-kommandoen.,

Nu til at opsige Ping proces, der kører i baggrunden ved brug af kill kommandoen som følger:$ kill -9 80928So, dette var den korte introduktion af nohup kommando i Linux. Nohup-kommando bruges til at forhindre, at en vigtig proces afsluttes, når du logger ud eller lukker sessionen. Det hjælper meget, når du kører en proces, især scripts, der tager lang tid at gennemføre.