Kaip nužudyti „Linux“ procesus/nereaguojančias programas naudojant komandą „xkill“


Kaip užmušti „Linux“ išteklius/procesus? Akivaizdu, kad randame ištekliaus PID ir tada perduodame PID komandai kill.

Tiksliau kalbant, galime rasti išteklių (pvz., Terminalo) PID:

$ ps -A | grep -i terminal

6228 ?        00:00:00 gnome-terminal

Aukščiau pateiktame išvestyje skaičius „6228“ yra proceso PID („gnome-terminal“), naudokite komandą „kill“, kad nužudytumėte procesą, kaip parodyta žemiau.

$ kill 6228

Komanda „kill“ siunčia signalą procesui, kurio PID perduodamas kartu su komanda.

Arba galime naudoti komandą pkill, kuri užmuša procesą pagal pavadinimą ir kitus proceso atributus. Norėdami užmušti procesą sakydami, kad jo vardas yra galutinis, turime atlikti:

$ pkill terminal

Pastaba: Proceso pavadinimo ilgis pkill yra ribojamas iki 15 simbolių.

„pkill“ atrodo patogesnis, nes jūs galite nužudyti procesą nenusprendę jo PID. Bet jei norite geriau kontroliuoti savo sistemą, niekas neįveikia komandos „nužudyti“. Naudodami nužudymą turėsite geresnę informaciją apie tai, kokį procesą nužudote.

Mes jau pateikėme išsamų komandų „kill“, „pkill“ ir „killall“ vadovą.

Tiems, kurie naudoja X serverį, yra dar vienas įrankis, vadinamas xkill, kuris gali užmušti procesą iš savo X lango neperdavęs proceso pavadinimo ar PID.

„xkill“ įrankis priverčia X serverį uždaryti ryšį su savo klientu, todėl jo X šaltinis nužudo klientą. „xkill“, kuris yra „X11“ paslaugų dalis, yra labai patogu naikinant nereikalingus langus.

Tai palaiko tokias parinktis kaip prisijungimas prie konkretaus X serverio (-display displayname) naudojant ekrano numerį, kai pagrindiniame kompiuteryje vienu metu veikia keli „X“ serveriai, ir užmuša visus klientus (-visi, nerekomenduojami) su aukščiausio lygio langais ekrane, taip pat atsižvelgti į rėmelį (-frame).

Norėdami gauti visų klientų, kuriuos galite paleisti, sąrašą:

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

Jei nenurodomas joks išteklių identifikatorius su ID, xkill paverčia pelės žymeklį specialiu simboliu, panašiu į „X“. Tiesiog spustelėkite langą, kurį norite nužudyti, ir tai užmuš jo ryšį su serveriu arba sakys, kad programa bus nužudyta.

$ xkill

Svarbu pastebėti, kad „xkill“ negarantuoja, kad uždarius ryšį jis bus sėkmingai užmuštas/nutrauktas. Didžioji programos dalis bus nužudyta, kai ji bus uždaryta. Tačiau kelios vis dar gali veikti.

Čia reikia paminėti taškus:

  1. Šis įrankis veikia tik tada, kai veikia X11 serveris, nes „xkill“ yra „X11“ įrankio dalis.
  2. Nepainiokite su išteklių uždarymu ir nužudymu. Žudydami šaltinį galite tikėtis, kad jis neapleis švariai.
  3. Tai nėra įrankis „kill“ pakeitimas.

Ne, jums nereikia paleisti „xkill“ iš „Linux“ komandų eilutės. Galite nustatyti spartųjį klavišą ir iškviesti „xkill“ tiesiog perforuodami tą patį klavišų derinį.

Štai kaip nustatyti klaviatūros nuorodą įprastoje „gnome3“ darbalaukio aplinkoje.

Eikite į Nustatymai -> Pasirinkite klaviatūrą, spustelėkite „+“ ir pridėkite vardą bei komandą. Spustelėkite naują įrašą ir paspauskite klavišą, kurį norite naudoti kaip spartųjį klavišų derinį. Aš padariau „Ctrl“ + „Alt“ + „Shift“ + x.

Kitą kartą, kai norite užmušti X šaltinį, tiesiog paskambinkite klavišų kombinacijai (Ctrl + Alt + Shift + x) ir pastebėsite, kad pelės žymeklis pasikeitė į x. Spustelėkite x šaltinį, kurį norite nužudyti, ir viskas padaryta!