I denne guiden vil vi demonstrere hvordan du dreper en Linux -prosess av PID -en.
PID i Linux
Begrepet PID er et forkortelse for "prosessidentifikasjonsnummer". Hver prosess tildeles en unik PID i det øyeblikket de opprettes på systemet. PID -nummer 1 er tilordnet SystemD (init, for eldre systemer). I hovedsak er SystemD eller Init alltid den første prosessen som starter på Linux og er foreldre til alle andre prosesser.
Det er et par verktøy vi kan bruke for å få PID i en målprosess. Den mest populære (og anbefalte) metoden for å få PID er å bruke PS -kommandoen. Det er et innebygd verktøy tilgjengelig på alle Linux-systemer. Lær mer dyptgående om PS-kommandoen i Linux.
For å skrive ut alle løpsprosessene med PID -en, kjør følgende PS -kommando:
$ ps -ef
For enklere navigasjon, rør utgangen til den mindre kommandoen:
$ ps -ef | mindre
Legg merke til at PID -kolonnen viser alle prosesser sortert etter PID. Det er verdien vi leter etter.
Leter etter en bestemt prosess med et spesifikt navn? Da er grep -kommandoen din venn. Den kan søke etter et bestemt mønster i den gitte filen (stdout, i dette tilfellet). For eksempel vil følgende kommando søke etter enhver kjørende Firefox -prosess:
$ ps -ef | grep Firefox
Hvis du vet navnet på målprosessen, kan vi bruke PIDOF -kommandoen for å direkte få PID.
$ pidof Firefox
En annen interessant kommando for å gjøre jobben er PGREP. Den fungerer direkte på listen over kjører som kjører for øyeblikket. PGREP -kommandoen vil ta prosessnavnet som parameter og skrive ut PID for enhver matchende oppføring.
$ PGREP Firefox
Legg merke til PID for målprosessen. Den neste delen av denne artikkelen vil vise frem avslutning av prosessen med PID.
Drepe en prosess
Å drepe en prosess krever å sende et terminalsignal til prosessen. Imidlertid er det ikke et enkelt termineringssignal. Det er flere av dem, som hver opptrer litt annerledes enn de andre. Så det er avgjørende å forstå dem først.
Linux dreper signaler
Kill -kommandoen i Linux er ansvarlig for å sende termineringssignalene. For en detaljert forklaring, sjekk ut denne guiden om Linux Kill -kommandoen. Kort sagt, du forteller Kill Command hvilket signal du skal sende til hvilken prosess (ved hjelp av PID).
For å få den komplette listen over alle oppsigelsessignalene, kjør følgende kommando:
$ Kill -L
For det meste trenger vi imidlertid bare en håndfull av dem. Her er detaljerte forklaringer på de vanligste termineringssignalene du bør vite om.
Drepe en prosess ved hjelp av drap
Dette er standard måten å avslutte en målprosess på Linux på. Kill -kommandoen følger følgende kommandostruktur:
$ Kill -
For å sende sigterm til en prosess, vil kommandoen for eksempel se slik ut:
$ Kill -15
Tilsvarende, hvis du vil sende Sigkill, bruk følgende kommando:
$ Kill -9
Lær mer om Linux Kill-kommandoen med dyptgående forklaringer og eksempler.
Drepe flere prosesser ved bruk av Killall
Killall -kommandoen fungerer som Kill. I stedet for å definere en spesifikk PID, bruker den imidlertid prosessnavnet og sender det spesifiserte termineringssignalet til alle prosesser som samsvarer med navnet.
Kommandostrukturen til Killall ser slik ut:
$ Killall -
Følgende Killall -kommando vil for eksempel sende sigTm til alle de løpende Firefox -prosessene:
$ Killall -15 Firefox
Sjekk ut denne guiden på Linux Killall -kommandoen for detaljerte forklaringer med eksempler. Det anbefales også å sjekke ut mannssiden til Killall:
$ Man Killall
Drepe flere prosesser ved hjelp av pkill
I likhet med Killall -kommandoen, kan Pkill også slå opp prosesser basert på navnet og sende det spesifiserte termineringssignalet. Kommandostrukturen er nesten lik også;
$ pkill -
Bruk for eksempel følgende Pkill -kommando for å avslutte Firefox -prosessen med Sigterm:
$ pkill -15 Firefox
Som alltid, sjekk mannsiden til Pkill for dyptgående forklaringer med alle nyansene:
$ mann pkill
Siste tanker
Denne guiden viser forskjellige måter å drepe en prosess av sin PID. Det demonstrerer også alternative metoder ved å bruke prosessnavnet i stedet for PID. Det er alltid bedre å ha flere verktøy til din disposisjon. Her brukte vi PS- og PGREP -kommandoer for å finne PID og Kill, Pkill og Killall -kommandoer for å drepe prosesser.
I mange situasjoner kan det være lurt å bli kvitt irriterende bakgrunnsprosesser som ikke fungerer. Lær mer om å identifisere bakgrunnsprosesser i Linux. Deretter, etter metodene i denne guiden, kan du enkelt bli kvitt uønskede.
Glad databehandling!