Drep alle stoppet jobber Linux

Drep alle stoppet jobber Linux

I Linux refererer en jobb til en prosess startet og administrert av skallet. Det kan være en enkelt kommando, en lang og kompleks skallkommando inkludert rør og omdirigeringer, en kjørbar eller et skript. Hver jobb i Linux administreres ved å tildele en sekvensiell jobb IP tilknyttet en spesifikk prosess.

Et sentralt konsept å forstå om Linux -jobber er deres statuser. Det er to hovedstatus for Linux -jobber:

  • Forgrunnen
  • Bakgrunn

Forgrunnsjobber

En forgrunnsjobb refererer til en kommando eller et program utført i skallet og okkuperer terminaløkten til det er fullført. Et eksempel vil være å lansere en filbehandling eller nettleser i terminalen

For eksempel viser følgende skjermbilde et terminalvindu med en forgrunnsjobb.

I bildet ovenfor er skallet ikke tilgjengelig før Firefox -vinduet lukkes.

Bakgrunnsjobber

Det motsatte av forgrunnen er bakgrunnsjobber. For å sette i gang en jobb i skallet som bakgrunnsjobb, bruker vi Ampersand (&) symbolet. Ved å bruke dette forteller skallet å legge de kommandoene som kommer foran ampersanden i bakgrunnen og umiddelbart viser skallet.

Eksemplet nedenfor viser hvordan du setter Firefox -jobben (i eksemplet ovenfor) i bakgrunnen.

Som du kan se, er Shell -ledeteksten nå tilgjengelig til tross for at Firefox fortsatt kjører.

Du vil merke numeriske verdier som vises for bakgrunnsjobber. Den første, indikert med firkantede parenteser ([]), viser jobb -ID, mens den andre verdien indikerer PID for prosessen som er knyttet til jobben.

Hvordan administrere bakgrunnsjobber

Jobs -kommandoen håndterer jobbkontroll. Dette lar deg se jobbene i bakgrunnen.

sudojobber

Å utføre kommandoen ovenfor viser bakgrunnsjobber som vist nedenfor:

Fra venstre side har vi jobb -ID.

Følgende umiddelbart etter parentesene er pluss (+) eller minus (-) skilt. Plusskiltet indikerer at dette er den nåværende jobben, mens minusnummeret viser neste jobb.

Den neste braketten viser tilstanden til jobben. Det kan være å kjøre, stoppet, avsluttet, gjort eller avslutte med statusakode.

Endelig viser den siste delen det faktiske navnet på jobben.

Vis jobber med PID

For å vise bakgrunnsjobber med deres tilsvarende PID -verdier, bruker vi -L -flagget som:

Jobber -L

Det vil vise bakgrunnsjobbene med PID -verdiene sine, som vist på bildet nedenfor.

Bakgrunnsjobber med produksjon

Anta at vi har en jobb som vi ønsker å kjøre i bakgrunnen som dumper en utgang på skjermen. I eksemplet ovenfor satte jeg for eksempel APT -kommandoen, som har mye produksjon i bakgrunnen, uten å rote opp terminalen min.

For å gjøre dette, kan du omdirigere utdataene i /dev /null som:

sudo apt-get update> /dev /null &

Hvordan ta med bakgrunnsjobb for forgrunnen

Vi kan bringe bakgrunnsjobber i forgrunnen ved å bruke FG -kommandoen. For å bringe Firefox -jobben med jobb -ID på 1 til bakgrunnen, kan vi for eksempel gjøre:

FG %1

Det vil bringe jobben i forgrunnen som:

ubuntu@ubuntu20: ~ $ fg %1
Firefox

Jobber kommandoalternativer

Jobs -kommandoen har ikke mange alternativer.

Vi har allerede diskutert -l for å vise jobbene med prosess -ID -ene.

Andre alternativer du kan overføre til jobbkommandoen inkluderer:

  • -n - Dette viser jobbene som har endret status siden forrige varsel. For eksempel en jobb som har endret seg fra en løping til en stoppet tilstand.
  • -p - Lister bare PID -ene på jobbene.
  • -r -Kun løpende jobber
  • -s - Viser bare stoppet jobber.

Hvordan avslutte eller drepe jobber

Vi kan avslutte jobber ved hjelp av Kill -kommandoen etterfulgt av enten jobb -ID, en substring eller prosess -ID.

Drep ved hjelp av jobb -ID

For å drepe en jobb med jobb -IDen, bruker vi % etterfulgt av ID -verdien som:

Kill %%

Dette vil drepe den nåværende jobben; dette ligner %+.

Drep en jobb med en substring

Drepe en jobb med en substring, prefiks substring med %? etterfulgt av substringverdien som:

drepe %?Gnome-kalculator

MERK: Linux utfører jobber samtidig. Det betyr at det hopper frem og tilbake mellom tilgjengelige jobber til de fullfører. Derfor vil det å avslutte en terminaløkt med jobber som kjører, avslutte alle jobbene dine.

Du trenger ikke å bekymre deg for dette hvis du bruker en terminal multiplexer som tmux eller skjerm, da du kan feste dem på nytt.

Hvordan drepe stoppet jobber

For at vi skal drepe alle stoppede jobber, må vi knytte to kommandoer sammen. Den første vil få pidene til alle stoppede jobber, og den neste vil drepe alle jobbene som er gitt.

For å se de stoppede jobbene, bruker vi kommandoen

Jobber -S

Denne kommandoen viser alle de stoppede jobbene.

Når vi har dette, kan vi få pidene til de stoppede jobbene og rør dem til å drepe kommandoen som:

sudo drepe -9 'Jobs -p -s'

Dette vil drepe alle de stoppede jobbene.

Konklusjon

Denne opplæringen gikk over konseptene jobbkontroll i Linux og hvordan du får informasjon om jobbene. Det er godt å merke seg at jobbkontroll kanskje ikke er tilgjengelig, avhengig av valget ditt.

Takk for at du leser og glade skjell.