Hvordan til at Køre Bash-Kommandoer i Baggrunden i Linux

Der er ikke noget mere irriterende end at køre en kommando i din terminal og have det til at køre for minutter, undertiden timer, og ikke være i stand til at bruge din terminal igen. Sikker på, du kan bruge faner, men det er en klodset løsning, og det er ikke altid optimalt, fordi du måske vil se opdateringer, mens du arbejder. Her viser vi dig et par forskellige måder at køre bash-kommandoer i baggrunden i Linu..,

Afslut en kommando med&

Hvis du vil skubbe en kommando ind i baggrunden, er det en nem måde at gøre det ved hjælp af& i slutningen. På denne måde kan du udstede en kommando i baggrunden og fortsætte med at bruge din terminal, når den kører. Det kommer dog med en fangst. Brug af & afbryder ikke kommandoen væk fra dig; den skubber den bare ind i baggrunden., Dette betyder, at mens du forsøger at bruge terminalen, vil alt hvad kommandoen vil skubbe til STDOUT eller STDERR stadig blive udskrevet, hvilket kan være distraherende.

KOMMANDOEN &

Når terminal session er lukket, er den kommando afsluttes., Du kan også dræbe kommandoen ved at udstede jobs kommando, at finde nummeret på den kommando, der kører, og dræbe det med kill kommandoen. At syntaksen er som følger:

dræbe %1

ved Brug af & er godt, hvis du er nødt til at presse noget ud for en smule, men ikke forventer, at fortsætte for evigt.,

& efter en kommando skal du derefter afvise den

kører en kommando med bare & skubber den ud til bagsiden og holder den kørende, så længe terminalvinduet er åbent. Hvis du imidlertid ønsker at holde denne kommando kørende konstant, selv når din terminalsession slutter, kan du bruge kommandoen disown.

for at bruge denne metode skal du starte med at tilføje en &.,

KOMMANDOEN &

Som nævnt ovenfor, ved brug af & skubber denne kommando i baggrunden, men ikke løsrive det fra din bruger. Du kan bekræfte dette ved at skrive jobs i terminalen. Det viser kommandoen, der kører i baggrunden, som vi så før.

Bare skriv disown i skallen, og det vil gøre netop det. (Og du kan igen bekræfte dette med kommandoen jobs.,)

Du kan lige skimte disown kommando i der

Nu kan du lukke din terminal og fortsætter om din dag. Det vil stadig holde rørsystemer til STDOUT eller STDERR, men når du afslutter og genåbner din terminal, vil du ikke se noget der., Du kan finde kommandoen igen med top eller ps kommandoer og dræbe det med kill kommandoen.

Den desavoueret jobbet er det andet, med PID 16238.,

& Efter en Kommando med /dev/null

Tilføjelse & efter en kommando for at skubbe en kommando i baggrunden, men som et resultat, baggrunden kommando vil fortsætte med at udskrive meddelelser i terminalen, så du bruger det. Hvis du ønsker at forhindre dette, skal du overveje at omdirigere kommandoen til /dev/null.,

KOMMANDOEN &>/dev/null &

Dette forhindrer ikke, at den kommando, der kan lukkes, når terminalen lukkes. Som nævnt ovenfor er det imidlertid muligt at bruge disown for at afvise den kørende kommando væk fra brugeren. Du kan også dræbe det i en af de metoder, der er nævnt ovenfor, hvis du ikke vil have det til at køre længere.,

Nohup, med & og /dev/null

i Modsætning til de forrige kommandoer, ved hjælp af nohup giver dig mulighed for at køre en kommando i baggrunden og holde det kørende. Hvordan? nohup omgår HUP-signalet (signal hænge op), hvilket gør det muligt at køre kommandoer i baggrunden, selv når terminalen er slukket. Kombiner denne kommando med omdirigering til “/ dev / null” (for at forhindre nohup i at lave en nohup.ud fil), og alt går til baggrunden med en kommando.,

nohup KOMMANDO &>/dev/null &

de Fleste terminal-programmer på Linux i dag har indbyggede funktioner til at give dem mulighed for at køre i baggrunden, med en lille indsats. Sammen med det kan moderne init-systemer (som systemd) give brugerne mulighed for at starte programmer som tjenester ved opstart eller når som helst.,

stadig mangler nogle programmer på Linu.muligheden for at køre som en dæmon eller integrere med moderne init-systemer. Dette er en reel ulempe, men det er forståeligt, da ikke alle udviklere har evnen eller tid til at tilføje nye funktioner.

heldigvis er kommandoer somnohupellerdisown stadig en realitet og kan lukke kløften i at flytte programmer som dette til baggrunden. De er ikke perfekte eller fancy, men de får arbejdet gjort, når det er nødvendigt.,

Hvis du haft denne Linux artikel, så sørg for at tjekke nogle af vores andre Linux-indhold, som hvordan til at forbinde din Google-konto til GNOME Shell, 5 af de bedste Linux-Distributioner til Windows-Brugere i 2021, og 15 LS kommandoer, du har brug for at vide.

Relateret:

John Perkins

John er en ung tekniske professionelle med en passion for uddannelse af brugere på de bedste måder at bruge deres teknologi. Han har tekniske certificeringer, der dækker emner lige fra computer hard .are til cybersikkerhed til Linu.system administration.,

få vores historier leveret til din indbakke.

Share

Skriv et svar

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