Å kjøre Linux-kommandoer i bakgrunnen lar brukeren fortsette å utføre andre oppgaver mens kommandoen fortsatt kjører. For å kjøre en kommando i bakgrunnen er det flere måter; en av de enkle metodene er å 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 å bruke arbeidsplasser kommando. Denne artikkelen inneholder alle forskjellige måter å kjøre en kommando på i bakgrunnen.
Listen over forskjellige måter å kjøre en bakgrunnsprosess på er som følger:
Følgende er detaljene for alle metoder for å kjøre en bakgrunnsprosess:
1: Bruk Ampersand (&)-tegnet
I Linux er Ampersand (&) en shell-operator som sender en kommando i bakgrunnen som en egen prosess. Ved å kombinere og-tegn (&) 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 ] &
Et-tegnet-symbolet legges alltid til på slutten av kommandoen med et enkelt mellomrom mellom '&' og siste kommandotegn.
Lag for eksempel en søvnprosess i 40 sek.
$ sove 40
Som vi kan se, kjører terminalen sleep-kommandoen og lar oss ikke utføre noen annen oppgave.
Trykk nå 'Ctrl + Z' for å stoppe denne prosessen. Deretter kjører vi den samme dvalekommandoen denne gangen, men å bruke en og-tegn-operator med den vil sette den opp i bakgrunnen.
Nå er denne prosessen i bakgrunnen. For å liste opp bakgrunnsprosessen, bruk:
Drep nå denne bakgrunnsprosessen ved å bruke:
For å drepe den nåværende kjørende søvnprosessen, bruk for eksempel:
Nå avbrytes søvnprosessen for å bekrefte listen over bakgrunnsprosessen som kjører.
Her er et annet eksempel på bruk & ampersand tegnet er med gedit kommando.
For eksempel, hvis vi åpner gedit tekstredigering direkte ved å bruke terminalen, vil vi være bundet til å bruke skallet til annet arbeid, ellers må vi stoppe den nåværende prosessen først.
$ gedit
Ved å bruke kommandoen ovenfor åpnes tekstredigeringsprogrammet som åpner det foran terminalen.
Men etter å ha brukt '&' på slutten av gedit-kommandoen, er skallet gratis å bruke for andre prosesser:
2: Bruke 'bg'-kommandoen
bg-kommandoen er den andre måten å kjøre kommandoer i bakgrunnen på. 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 og-tegn trenger vi ikke å bekymre oss for å legge det til kommandoen hver gang, bare send bg-tekst til terminalen. Den vil begynne å kjøre prosessen i bakgrunnen og frigjøre terminalen for fremtidig bruk.
La oss for eksempel bruke forrige eksempel og sende kommandoen for søvn ved å bruke:
$ sove 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øringsprosess ved å trykke «Ctrl+Z» og utføre denne kommandoen:
Etter å ha sendt bg-kommandoen begynte søvnprosessen å fortsette i bakgrunnen. Vi kan se et og-tegn '&' på slutten, som indikerer at den nåværende prosessen kjører i bakgrunnen.
For å sjekke bakgrunnsprosessen kjøre jobb-kommandoen:
For å sjekke kommandoen som kjører i bakgrunnen, bruk:
For å drepe den nåværende prosessen, bruk jobb-IDen med kill-kommandoen. For å sjekke jobb-ID, kjør:
Etter å ha kjent jobb-ID-avlivingsprosessen ved å bruke:
Bruk for eksempel for å drepe gjeldende løpende søvnprosess:
For å bekrefte om prosessen er drept eller ikke, kjør jobbkommandoen igjen:
Vi kan se at søvnprosessen ikke lenger kjører i bakgrunnen:
3: Bruke nohup-kommandoen
Nohup-kommandoen er tredje på listen vår over kjørende bakgrunnsprosesser i Linux. Kommandoen står for 'no hang up' og brukes til å forhindre at prosessen avsluttes til terminaløkten avsluttes. Når en prosess kjøres med nohup, fortsetter den å kjøre selv om brukeren logger ut, og utdataene fra prosessen omdirigeres til en fil som heter «nohup.out» .
Nohup-kommandoen for å pinge google kontinuerlig i bakgrunnen er og utdata blir omdirigert til en tekstfil GooglePing.txt:
$ nohup ping Google com > GooglePing.txt &
Etter å ha skrevet denne kommandoen kan vi se at terminalen er gratis og en bakgrunnsprosess for kontinuerlig pinging av Google kjører i bakgrunnen.
For å få tilgang til loggfilen kan vi bruke følgende kommando:
Loggfilen kan også nås ved å bruke GUI fra startskjermen.
4: Bruke disown-kommandoen
Disown-kommandoen fjerner en prosess fra skallet og kjører den i bakgrunnen. Når en prosess avvises, er den ikke lenger knyttet til terminalen og fortsetter å kjøre selv etter at brukeren logger av eller lukker terminalen.
Tidligere har vi brukt og-tegnet '&'-kommandoen som sender prosessen i bakgrunnen etter utførelse, men når vi lukker skallet, avsluttes prosessen. For å bli kvitt denne avvisningskommandoen er der.
Disown-kommandoen kan ikke fungere uavhengig, men minst én prosess må kjøres i bakgrunnen.
Kjør kommandoen nedenfor med a & og-tegnet som sender kommandoen din til bakgrunnen.
$ ping Google com > GooglePing.txt &
Etter at filen er opprettet, kan vi liste den ved å bruke jobbkommandoen.
Nå kjører prosessen vår i bakgrunnen for å koble den fra terminalbruk:
Kjør jobbkommandoen på nytt for å bekrefte at prosessen er koblet fra terminalen:
Siden prosessen vår kjører for øyeblikket, men den ikke lenger vises inne i terminalen:
For å bekrefte prosessen vår kan vi bruke cat-kommandoen for å få tilgang til den ping-filen:
Vi har koblet denne prosessen fra terminalen, men den kjører fortsatt i bakgrunnen.
5: Bruke tmux-verktøyet
Tmux er et slags terminalmultiplekserverktøy. Ved å bruke tmux kan vi lage flere terminalsesjoner innenfor 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 koble fra den ved å bruke tastekombinasjonen Ctrl-b etterfulgt av d.
For å installere tmux-verktøyet på Ubuntu og Linux mint bruk:
$ sudo apt installere tmux
For å installere på Fedora kjøre:
For å installere på Arch Linux kjør:
Kjør nå tmux-kommandoen for å åpne en ny terminal:
For å opprette en ny tmux-sesjon, bruk:
For å liste opp all bruk av tmux-økter:
For å drepe en tmux-sesjon, bruk kommandoen som:
For eksempel å drepe '0' tmux økt bruk:
Her listet vi den gjeldende løpende tmux aktive økten og dreper den ved å bruke kommandoen ovenfor:
-
- For å koble fra tmux-økten trykk «Ctrl+B+D» .
- For å få en liste over alle kommandoer trykk 'Ctrl+B+?' .
- For å skifte mellom tmux-vinduer trykk «Ctrl+B+O» .
For å dele tmux-terminalen vertikalt, trykk «Ctrl+B» og type % .
For å komme tilbake på hovedterminalen fra tmux bruk:
Konklusjon
Å kjøre bakgrunnsapplikasjoner i Linux er en kraftig funksjon som lar brukere holde sine langvarige oppgaver i gang selv etter å ha logget ut av terminalen eller lukket vinduet. Vanligvis en ampersand & signere eller bg kommandoen brukes til å sende en prosess i bakgrunnen. Men vi kan også bruke nohup eller fornekte kommando for å koble en prosess fra terminalen. Endelig kan vi bruke tmux-verktøyet å lage flere terminaler og kjøre bakgrunnsprosesser uten å forstyrre terminalen.