Å kjøre Linux -kommandoer i bakgrunnen lar brukeren fortsette å utføre andre oppgaver mens kommandoen fremdeles kjører. For å kjøre en kommando i bakgrunnen er det flere måter; En av de enkle metodene er ved å legge til en Ampersand (&) På slutten av kommandolinjen.
Når en prosess er satt til å kjøre i bakgrunnen, kan vi få tilgang til den ved hjelp av arbeidsplasser kommando. Denne artikkelen inneholder alle forskjellige måter å kjøre en kommando i bakgrunnen.
Liste over forskjellige måter å kjøre en bakgrunnsprosess er som følger:
Følgende er detaljene i alle metoder for å kjøre en bakgrunnsprosess:
1: Bruke Ampersand (&) -tegnet
I Linux Ampersand (&) er en skalloperatør som sender en kommando i bakgrunnen som en egen prosess. Ved å kombinere ampersand (&) til en kommando, vil den bli utført som en bakgrunnsprosess, slik at skallet kan fortsette å behandle andre kommandoer umiddelbart.
Syntaks for en bakgrunnsprosess ved bruk av Ampersand -tegn:
$ [Kommando] &
Ampersand -symbolet blir alltid lagt til på slutten av kommandoen med et enkelt mellomrom mellom “&” og siste karakter av kommandoen.
Lag for eksempel en søvnprosess i 40 sekunder.
$ søvn 40
Som vi kan se, kjører terminalen søvnkommandoen og lar oss ikke utføre noen annen oppgave.
Trykk nå “Ctrl + z” For å stoppe denne prosessen. Deretter kjører vi den samme søvnkommandoen denne gangen, men ved å bruke en ampersand -operatør med den vil den sette den opp i bakgrunnen.
$ søvn 40 og
Nå er denne prosessen i bakgrunnen. For å liste opp bakgrunnsbruk av prosessen:
$ jobber -l
Nå drep denne bakgrunnsprosessen ved å bruke:
$ Kill -9 [Job -ID]
For eksempel for å drepe den nåværende løpende søvnprosessbruken:
$ Kill -9 6149
Nå blir søvnprosessen drept for å bekrefte listen over bakgrunnsoppkjøringsprosessen ved hjelp av.
$ jobber -l
Her er et annet eksempel på å bruke & ampersand Tegnet er med Gedit -kommandoen.
Hvis vi for eksempel åpner Gedit Text Editor direkte ved hjelp av terminalen, vil vi være nødt til å bruke skallet til annet arbeid, ellers må vi stoppe den nåværende prosessen først.
$ gedit
Ved å bruke kommandoen ovenfor vil du åpne tekstredigereren som vil åpne den foran terminalen.
Men etter å ha brukt "&" på slutten av GEDIT -kommandoen, er skallet fritt til å bruke til andre prosesser:
$ gedit &
2: Bruke 'BG' -kommandoen
BG -kommandoen er den andre måten å kjøre kommandoer i bakgrunnen. Denne kommandoen lar brukeren fortsette å jobbe i terminalen mens prosessen kjører i bakgrunnen, og frigjør terminalen for andre oppgaver. BG -kommandoen brukes til en langvarig bakgrunnsprosess som til og med kjører hvis brukeren logger ut.
Som et ampersandskilt trenger vi ikke å bekymre oss for å legge det til kommandoen hver gang bare send BG -tekst til terminalen. Det vil begynne å kjøre prosessen i bakgrunnen og frigjøre terminalen for fremtidig bruk.
La oss for eksempel bruke det forrige eksemplet og sende søvnkommandoen ved å bruke:
$ søvn 40
Nå kjører prosessen og terminalen er ikke tilgjengelig for bruk. For å bruke BG -kommandoen og sende denne prosessen i bakgrunnen, må vi først stoppe gjeldende utførelsesprosess ved å trykke på “Ctrl+ z” og utføre denne kommandoen:
$ BG
Etter å ha sendt BG -kommandoen begynte søvnprosessen å fortsette i bakgrunnen. Vi kan se en ampersand "&" på slutten, noe som indikerer at den nåværende prosessen er i bakgrunnen som kjører.
For å sjekke bakgrunnsprosessen Kjør Jobs -kommandoen:
$ jobber -l
For å sjekke kommandoen som kjører i bakgrunnsbruk:
$ fg
For å drepe den nåværende prosessen, bruk jobb -IDen med Kill Command. For å sjekke jobb -ID, kjør:
$ jobber -l
Etter å ha kjent jobbene Id Kill Process ved bruk av:
$ Kill -9 [Job -ID]
For eksempel å drepe gjeldende løpende søvnprosessbruk:
$ Kill -9 6584
For å bekrefte om prosessen blir drept eller ikke igjen kjører Jobs -kommandoen:
$ jobber -l
Vi kan se søvnprosessen ikke lenger kjører i bakgrunnen:
3: Bruke nohup -kommandoen
Nohup -kommandoen er tredje på vår liste over løpende bakgrunnsprosesser i Linux. Kommandoen står for “No Dang Up” og brukes til å forhindre at prosessen blir avsluttet til terminaløkten slutter. Når en prosess utføres ved hjelp av NOHUP, fortsetter den å kjøre selv om brukeren logger ut, og utgangen fra prosessen blir omdirigert til en navn som er navngitt “Nohup.ute".
Nohup -kommandoen til Ping Google kontinuerlig i bakgrunnen er og output blir omdirigert til en tekstfil Googleping.tekst:
$ nohup ping google.com> Googleping.tekst &
Etter å ha skrevet denne kommandoen kan vi se at terminalen er gratis og en bakgrunnsprosess for kontinuerlig å pinge Google kjører i bakgrunnen.
For å få tilgang til loggfilen, kan vi bruke følgende kommando:
$ CAT Googleping.tekst
Loggfilen kan også nås ved hjelp av GUI fra startskjermen.
4: Bruke Disown -kommandoen
Disown -kommandoen fjerner en prosess fra skallene og kjører den i bakgrunnen. Når en prosess blir benektet, er den ikke lenger assosiert med terminalen og fortsetter å løpe selv etter at brukeren logger ut eller lukker terminalen.
Tidligere har vi brukt Ampersand “&” -kommandoen som sender prosessen i bakgrunnen etter utførelsen, men når vi lukker skallet blir prosessen avsluttet. For å bli kvitt denne Disown -kommandoen er det der.
Disown -kommandoen kan ikke fungere uavhengig, men minimum en prosess må kjøres i bakgrunnen.
Kjør kommandoen nedenfor med en Og Ampersand tegn som vil sende kommandoen din til bakgrunn.
$ ping google.com> Googleping.tekst &
Etter at filen er opprettet, kan vi liste den ved hjelp av Jobs -kommandoen.
Nå kjører prosessen vår i bakgrunnen for å løsne den fra terminalbruk:
$ DELOWN
Kjør Jobs -kommandoen igjen for å bekrefte at prosessen er løsrevet fra terminalen:
$ jobber -l
Ettersom prosessen vår for øyeblikket kjører, men den ikke lenger vises inne i terminalen:
For å bekrefte prosessen vår, kan vi bruke CAT -kommandoen for å få tilgang til den pingfilen:
$ CAT Googleping.tekst
Vi har løsnet denne prosessen fra terminalen, men den kjører fremdeles i bakgrunnen.
5: Bruke TMUX -verktøyet
TMUX er et slags terminal multiplexer -verktøy. Ved hjelp av TMUX kan vi lage flere terminaløkter i et enkelt skall. Det gir muligheten til å kjøre prosesser i bakgrunnen.
For å kjøre en bakgrunnsprosess i TMUX, kan du opprette en ny økt og deretter løsne fra den ved hjelp av tastekombinasjonen CTRL-B etterfulgt av D.
For å installere TMUX -verktøyet på Ubuntu og Linux Mint -bruk:
$ sudo apt install tmux
Å installere på Fedora Run:
$ sudo dnf installer tmux
Å installere på Arch Linux Run:
$ sudo pacman -s tmux
Kjør nå TMUX -kommandoen for å åpne en ny terminal:
$ tmux
For å lage en ny TMUX -øktbruk:
$ tmux new -s [session_id]
For å liste opp all TMUX -øktbruk:
$ tmux ls
For å drepe en TMUX -øktbrukskommando som:
$ tmux kill -session -t [session_id]
For eksempel å drepe “0” TMUX Session Bruk:
$ tmux Kill -Session -t 0
Her listet vi opp den nåværende kjørende tmux -aktive økten og drepte den ved hjelp av kommandoen ovenfor:
For å dele TMUX -terminalen vertikalt, trykk “Ctrl+B” og skriv %.
For å komme tilbake på hovedterminalen fra tmux bruk:
$ exit
Konklusjon
Kjørende bakgrunnsapplikasjoner i Linux er en kraftig funksjon som lar brukerne holde langvarige oppgaver i gang selv etter å ha logget ut av terminalen eller lukker vinduet. Vanligvis en Ampersand & tegn eller BG Kommando brukes til å sende en prosess i bakgrunnen. Vi kan imidlertid også bruke NOHUP eller Nowown kommando for å løsne en prosess fra terminalen. Endelig kan vi bruke TMUX -verktøyet For å lage flere terminaler og kjøre bakgrunnsprosesser uten å forstyrre terminalen.