Hvordan drepe Linux-prosesser/applikasjoner som ikke reagerer ved å bruke 'xkill'-kommandoen


Hvordan dreper vi en ressurs/prosess i Linux? Vi finner åpenbart PID til ressursen og sender deretter PID til kill-kommandoen.

Når vi snakker mer nøyaktig, kan vi finne PID for en ressurs (f.eks. terminal) som:


ps -A | grep -i terminal

6228 ?        00:00:00 gnome-terminal

I utgangen ovenfor er tallet «6228» PID-en til prosessen (gnome-terminal), bruk kill-kommandoen for å drepe prosessen som vist nedenfor.


kill 6228

Kommandoen kill sender et signal til en prosess hvis PID sendes sammen med kommandoen.

Alternativt kan vi bruke kommandoen pkill, som dreper en prosess basert på navn og andre attributter til en prosess. For å drepe en prosess si hvis navn er terminal, vi må utføre:


pkill terminal

Merk: Lengden på prosessnavnet i pkill er begrenset til 15 tegn.

pkill virker mer praktisk siden du kan drepe en prosess uten å måtte finne ut dens PID. Men hvis du vil ha en bedre kontroll på systemet ditt, er det ingenting som slår kommandoen «kill». Ved å bruke kill vil du ha bedre innsikt i hvilken prosess du dreper.

Vi har allerede dekket en detaljert veiledning om kill-, pkill- og killall-kommandoer.

For de som kjører X-server er det et annet verktøy kalt xkill som kan drepe en prosess fra X-vinduet uten å sende inn prosessnavn eller PID.

Verktøyet xkill tvinger X-serveren til å lukke kommunikasjonen til klienten, noe som resulterer i at klienten drepes av X-ressursen. xkill som er en del av X11-verktøyene er veldig nyttig for å drepe unødvendige vinduer.

Den støtter alternativer som å koble til en spesifikk X-server (-visningsnavn) ved å bruke visningsnummer når flere X-servere kjører på en vert samtidig og drepe hele klienten (-alle, anbefales ikke) med vinduer på øverste nivå på skjermen samt ta hensyn til ramme (-ramme).

For å få en liste over alle klientene du kan kjøre:


xlsclients
Eksempelutgang

'  ' /usr/lib/libreoffice/program/soffice
deb  gnome-shell
deb  Docky
deb  google-chrome-stable
deb  soffice
deb  gnome-settings-daemon
deb  gnome-terminal-server

Hvis ingen ressursidentifikator sendes med id, gjør xkill musepekeren til et spesielt symbol, som ligner på «X». Bare klikk på vinduet du vil drepe, og dette vil drepe kommunikasjonen med serveren eller si at programmet blir drept.


xkill

Det er viktig å merke seg at xkill ikke garanterer at lukking av kommunikasjonen vil drepe/avbryte den. Det meste av applikasjonen vil bli drept når kommunikasjonen til serveren stenges. Noen få kan imidlertid fortsatt kjøre.

Poeng som må nevnes her:

  1. Dette verktøyet fungerer bare når X11-serveren kjører, da xkill er en del av X11-verktøyet.
  2. Ikke forveksle med å lukke og drepe en ressurs. Mens du dreper en ressurs kan du forvente at den ikke avsluttes rent.
  3. Dette er ikke en erstatning for kill-verktøyet.
Må jeg gå til Linux-kommandolinjen for å starte xkill?

Nei, du trenger ikke å skyte xkill fra Linux-kommandolinjen. Du kan angi en hurtigtast og ringe xkill bare ved å trykke på samme tastekombinasjon.

Her er hvordan du setter opp en hurtigtast på et typisk gnome3 skrivebordsmiljø.

Gå til Innstillinger –> Velg tastatur, klikk på ‘+’ og legg til navn og kommando. Klikk på den nye oppføringen og trykk tasten du vil bruke som hurtigtastkombinasjon. Jeg gjorde Ctrl+Alt+Shift+x.

Neste gang du vil drepe en X-ressurs, ring bare tastekombinasjonen (Ctrl+Alt+Shift+x), og du vil legge merke til at musepekeren er endret til x. Klikk på x ressurs du vil drepe og alt er gjort!