Linu.Nohup-kommando

kommandoen nohup udfører et andet program, der er angivet som dets argument, og ignorerer alle SIGHUP (hangup) signaler. SIGHUP er et signal, der sendes til en proces, når dens kontrollerende terminal er lukket.

normalt, når du kører et program over SSH, hvis din forbindelse falder, eller du logger ud, afsluttes sessionen, og alle processer, der udføres fra terminalen, stopper. Det er her kommandoen nohup kommer godt med., Det ignorerer alle hangup signaler, og processen vil fortsætte med at køre.

Hvordan man kan Bruge nohup Kommandoen #

syntaks for nohup kommandoen er som følger:

nohup COMMAND 

kommandoen accepterer ikke andre muligheder, bortset fra den standard --help og --version.,

Lad os tage et kig på følgende eksempel:

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

nohup kører mycommand kommando i forgrunden og omdirigerer kommando udgang til nohup.out fil. Denne fil oprettes i den aktuelle arbejdsmappe . Hvis brugeren, der kører kommandoen, ikke har skrivetilladelser til arbejdsmappen, oprettes filen i brugerens hjemmekatalog.

Hvis du logger ud eller lukker terminalen, afsluttes processen ikke.,

kørsel af kommandoen i baggrunden #

brug afnohup i forgrunden er ikke særlig nyttig, fordi du ikke kan interagere med skallen, før kommandoen er færdig.

for At køre forespørgslen i baggrunden , tilføj & symbolet ved udgangen af kommandoen:

nohup mycommand &

output omfatter shell-job-ID ‘ et (omgivet af parentes) og proces-ID:

 25177

Du kan bruge den job-ID ‘ et til at bringe kommando i forgrunden ved brug af fg kommandoen.,

Hvis du ønsker at afbryde processen, skal du bruge kill kommando efterfulgt af proces-ID:

kill -9 25132

Omdirigere Outputtet til en Fil #

Som standard, nohup kommando omdirigerer output til nohup.out fil. Hvis du vil omdirigere output til en anden fil, skal du bruge standard shell omdirigering.,

For eksempel til at omdirigere standard output og standard fejl til mycommand.out ville du bruge:

nohup mycommand > mycommand.out 2>&1 &

til At omdirigere standard output og standard fejl på de forskellige filer:

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

Alternativer #

Der er flere alternative programmer, som du kan bruge til at undgå en kommando til at blive afsluttet, når du lukker terminalen, eller bliver afbrudt.,

Skærm #

Skærmen eller GNU Screen er en terminal multiplexer program, der giver dig mulighed for at starte en skærm session og åben en række af windows (virtuelle terminaler) i session. Processer, der kører på skærmen, fortsætter med at køre, når deres vindue ikke er synligt, selvom du bliver afbrudt.

TMU. #

TMU. er et moderne alternativ til GNU-skærmen. Med TMU.kan du også oprette en session og åbne flere vinduer inde i den session. TMU. – sessioner er vedvarende, hvilket betyder, at programmer, der kører i TMU., fortsætter med at køre, selvom du lukker terminalen.,

Diso .n #

disown er en shell indbygget, der fjerner en shell job fra shell job kontrol. I modsætning til nohup, kan du også bruge disown på kørende processer.

konklusion #

nohup giver dig mulighed for at forhindre, at kommandoer afsluttes, når du logger ud eller afslutter terminalen.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *