Hvernig á að drepa Linux ferla/forrit sem svara ekki með xkill stjórn


Hvernig drepum við auðlind/ferli í Linux? Augljóslega finnum við PID auðlindarinnar og sendum síðan PID til drápsskipunarinnar.

Ef við tölum nánar getum við fundið PID auðlindar (t.d. flugstöð) sem:

$ ps -A | grep -i terminal

6228 ?        00:00:00 gnome-terminal

Í ofangreindu úttakinu er talan '6228' PID ferlisins (gnome-terminal), notaðu kill skipunina til að drepa ferlið eins og sýnt er hér að neðan.

$ kill 6228

Kill skipunin sendir merki til ferlis þar sem PID er sent ásamt skipuninni.

Að öðrum kosti getum við notað pkill skipunina, sem drepur ferli byggt á nafni og öðrum eiginleikum ferlis. Til að drepa ferli, segðu hvers nafnið er terminal, þurfum við að framkvæma:

$ pkill terminal

Athugið: Lengd ferlisheitisins í pkill er takmörkuð við 15 stafi.

pkill virðist handhægara þar sem þú getur drepið ferli án þess að þurfa að finna út PID þess. En ef þú vilt hafa betri stjórn á kerfinu þínu er ekkert betra en „drepa“ skipun. Með því að nota drepa færðu betri innsýn í hvaða ferli þú ert að drepa.

Við höfum þegar fjallað um ítarlega leiðbeiningar um kill, pkill og killall skipanir.

Fyrir þá sem eru að keyra X server er annað tól sem heitir xkill sem getur drepið ferli úr X glugganum án þess að fara framhjá ferli nafni eða PID þess.

xkill tólið neyðir X netþjóninn til að loka samskiptum við viðskiptavininn sem leiðir til þess að viðskiptavinurinn drepur X auðlind hans. xkill sem er hluti af X11 tólum er mjög hentugt til að drepa óþarfa glugga.

Það styður valkosti eins og að tengjast tilteknum X Server (-display displayname) með því að nota skjánúmer þegar margir X Servers eru í gangi á hýsingaraðila samtímis og drepa alla biðlara (-allt, ekki mælt með) með efstu gluggum á skjánum sem og taka tillit til ramma (-ramma).

Til að fá lista yfir alla viðskiptavini sem þú getur keyrt:

$ 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

Ef ekkert auðkenni er gefið með auðkenni, breytir xkill músarbendilinn í sérstakt tákn, svipað og 'X'. Smelltu bara á gluggann sem þú vilt drepa og þetta mun drepa samskipti hans við netþjóninn eða segja að forritið verði drepið.

$ xkill

Það er mikilvægt að taka eftir því að xkill ábyrgist ekki að lokun samskipta þess muni drepa/stöðva það með góðum árangri. Flest forritið verður drepið þegar lokað er fyrir samskipti þess við netþjóninn. Hins vegar gætu nokkrir enn verið í gangi.

Punktar sem þarf að nefna hér:

  1. Þetta tól virkar aðeins þegar X11 þjónn er í gangi, þar sem xkill er hluti af X11 tólinu.
  2. Ekki rugla saman við að loka og drepa auðlind. Þegar þú drepur auðlind gætirðu búist við því að hún fari ekki hreint út.
  3. Þetta kemur ekki í staðinn fyrir Kill utility.

Nei, þú þarft ekki að skjóta xkill úr Linux stjórnlínu. Þú getur stillt flýtilykla og hringt í xkill bara með því að kýla á sömu lyklasamsetningu.

Hér er hvernig á að setja upp flýtilykla á dæmigerðu gnome3 skjáborðsumhverfi.

Farðu í Stillingar -> Veldu lyklaborð, smelltu á '+' og bættu við nafni og skipun. Smelltu á nýju færsluna og ýttu á takkann sem þú vilt nota sem flýtilyklasamsetningu. Ég gerði Ctrl+Alt+Shift+x.

Næst þegar þú vilt drepa X auðlind hringdu bara í takkasamsetninguna (Ctrl+Alt+Shift+x), og þú munt taka eftir músarbendlinum þínum breytt í x. Smelltu á x auðlind sem þú vilt drepa og allt gert!