Hvordan drepe alle prosesser for en bruker i Linux

Hvordan drepe alle prosesser for en bruker i Linux
Det er ikke noe mer frustrerende enn å logge på Linux -systemet ditt bare for å ha mange prosesser som bremser maskinen din. Selv om Linux er veldig flink til prosessstyring, kan det hende du må avslutte noen prosesser manuelt.

I denne opplæringen skal vi diskutere hvordan du finner og dreper prosesser fra en bestemt bruker. Vi vil bruke verktøy som Pkill og Killall.

MERK: Forsikre deg om at du har tilgang til en administrasjonskonto eller rotkontoen fordi vanlige brukere bare kan drepe prosessene sine, ikke prosesser som tilhører andre brukere. På den annen side kan rotbrukeren drepe alle prosesser.

La oss komme i gang.

Forstå systemsignaler

For å drepe en spesifikk prosess, sender kommandoen et signal til prosessen. Som standard kan Kill -kommandoer som Killall sende et semestersignal som grasiøst stopper den spesifiserte prosessen.

Før vi fortsetter å drepe kommandoen, la oss ta en kort oversikt over prosesssignalene.

De vanlige typer killesignaler inkluderer:

  • Sukk - Dette signalet laster inn en prosess på nytt. Den har en heltallverdi på 1.
  • Sigint - Avbryt fra tastaturet som Ctrl + C. Den har en heltallverdi på 2.
  • Sigkill - Drep en prosess. Den har en heltallverdi på 9.
  • Sigterm - Dette er et termineringssignal, som, som nevnt, grasiøst stopper en prosess. Den har en heltallverdi på 15.
  • Sigstop - Stopper en prosess. Den har en heltallverdi på enten 17, 19 eller 23.

MERK: Når du avslutter prosesser, er det bra å starte med det minst aggressive signalet, for eksempel begrep. Å bruke et signal som begrep vil tillate at programmet skal slå seg riktig og bruke de angitte tiltakene når programmet mottar begrepet signal.

Et drapssignal kan også være nyttig, spesielt hvis en prosess har opplevd en feil, ikke klarer å avslutte eller ikke svarer på INT -signalet.

For å se alle tilgjengelige signaler, bruk en kommando som en drap -L

Metode 1 - Killall -kommandoen

Den første kommandoen du kan bruke til å drepe Linux -prosesser er Killall -kommandoen. For dette trenger du PID -verdien eller navnet på prosessen du ønsker å avslutte.

Du kan bruke et verktøy som PGREP for å få PID i en spesifikk prosess.

For eksempel:

$ PGREP BASH
2500

Når du har PID -verdien av prosessen, kan du avslutte ved hjelp av Kill -kommandoen som:

$ Killall -15 2500
# eller
$ killall -15 bash

Kommandoen over vil sende et grasiøst termineringssignal.

For å sende et drapssignal, bruk -9 heltallet som:

$ Kill -9 2500
# eller
$ killall -9 bash

Hvordan drepe alle brukerprosesser med Killall

Killall -kommandoen lar deg avslutte alle prosessene som eies av en bestemt bruker. For å gjøre dette, bruk -u -flagget.

For eksempel å avslutte alle prosesser som er gyte av Ubuntu -brukeren.

$ sudo killall -u ubuntu

FORSIKTIGHET: Avhengig av brukeren som er spesifisert i kommandoen, kan avslutte prosessene føre til at systemet krasjer eller stopper kritiske systemprosesser. Før du bruker denne kommandoen, må du sørge for at den aktuelle brukeren ikke kjører prosesser du ikke ønsker å avslutte.

Metode 2: Pkill -kommandoen

Et annet flott verktøy du kan bruke til å avslutte Linux -prosesser er Pkill -kommandoen. Denne kommandoen fungerer på samme måte som Killall.

For å avslutte bash -prosessen med Pkill, bruk for eksempel kommandoen: for eksempel:

$ pkill -15 bash
# eller
$ pkill -15 2500

For å drepe alle prosesser som eies av Ubuntu -brukeren, kan vi bruke kommandoen:

sudo pkill -9 -u ubuntu

Konklusjon

Det er det for denne.

I denne guiden diskuterte vi raskt måter å avslutte prosesser i Linux og forskjellige typer drapssignaler. Som sett er det enkelt å drepe en enkelt prosess eller flere prosesser som eies av en spesifikk Linux -bruker.