كيفية إنهاء عمليات Linux / تطبيقات غير مستجيبة باستخدام أمر ‘xkill’

كيف يمكننا قتل مورد/عملية في نظام Linux؟ بوضوح نجد PID للمورد/العملية ثم نمرر PID إلى أمر القتل.

لنكن أكثر دقة، يمكننا العثور على PID لمورد/عملية (مثل الطرفية) كما يلي:

$ ps -A | grep -i terminal

6228 ?        00:00:00 gnome-terminal

في الناتج أعلاه، الرقم ‘6228‘ هو PID للعملية (gnome-terminal), استخدم أمر القتل لقتل العملية كما هو موضح أدناه.

$ kill 6228

أمر kill يرسل إشارة إلى عملية، التي يتم تمرير PID لها مع الأمر.

بالإضافة إلى ذلك، يمكننا استخدام أمر pkill، الذي يقتل عملية بناءً على اسم وسمات أخرى للعملية. لقتل عملية مثل تلك التي يكون اسمها terminal، نحتاج إلى تنفيذ:

$ pkill terminal

ملاحظة: طول اسم العملية في pkill محدود إلى 15 حرفًا.

يبدو أمر pkill أكثر ملاءمة حيث يمكنك قتل عملية دون الحاجة إلى العثور على PID الخاص بها. ولكن إذا كنت ترغب في الحصول على تحكم أفضل في نظامك، فلا شيء يضاهي ‘kill’. باستخدام kill، ستحصل على رؤية أفضل للعملية التي تقوم بقتلها.

لقد غطينا بالفعل دليلًا مفصلًا على أوامر kill و pkill و killall.

بالنسبة لأولئك الذين يقومون بتشغيل خادم X، هناك أداة أخرى تسمى xkill التي يمكنها قتل عملية من نافذة X الخاصة بها دون تمرير اسم العملية أو PID الخاص بها.

أداة xkill تجبر خادم X على إغلاق الاتصالات مع عميله مما يؤدي إلى قتل العميل من خلال موارد X الخاصة به. أداة xkill التي تعتبر جزءًا من أدوات X11 مفيدة جدًا في قتل النوافذ غير الضرورية.

تدعم خيارات مثل الاتصال بخادم X محدد (-display displayname) باستخدام رقم العرض عند تشغيل عدة خوادم X على جهاز مضيف بشكل متزامن وقتل جميع العملاء (-all, غير موصى به) مع النوافذ على مستوى الأعلى على الشاشة بالإضافة إلى مراعاة الإطار (-frame).

للحصول على قائمة بجميع العملاء يمكنك تشغيل:

$ 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

إذا لم يتم تمرير معرف المورد مع id، تحوّل أداة xkill المؤشر إلى رمز خاص، مشابه لـ ‘X‘. انقر فوق النافذة التي تريد قتلها وسيتم قتل اتصالها بالخادم أو يمكن القول بأن البرنامج سيتم قتله.

$ xkill
Kill Process Using xkill

من المهم ملاحظة أن أداة xkill لا تضمن أن إغلاق اتصالها سيؤدي بالضرورة إلى قتلها/إحباطها بنجاح. سيتم قتل معظم التطبيقات عند إغلاق اتصالها بالخادم. ومع ذلك، قد تظل بعض التطبيقات تعمل.

النقاط التي يجب ذكرها هنا:

  1. هذه الأداة تعمل فقط عند تشغيل خادم X11، حيث أن أداة xkill هي جزء من أدوات X11.
  2. لا ترتبك بين إغلاق وقتل المورد. عند قتل المورد، قد تتوقع عدم خروجه بشكل نظيف.
  3. هذا ليس بديلاً عن أداة kill.
هل يجب عليّ الذهاب إلى سطر أوامر Linux لاستدعاء أداة xkill؟

لا، لا تحتاج إلى تشغيل xkill من سطر الأوامر في نظام Linux. يمكنك تعيين اختصار لوحة المفاتيح واستدعاء xkill فقط عن طريق الضغط على نفس تركيبة المفتاح.

ها هي كيفية إعداد اختصار لوحة المفاتيح على بيئة سطح المكتب gnome3 النموذجية.

انتقل إلى الإعدادات –> حدد لوحة المفاتيح، انقر على ‘+’ وأضف الاسم والأمر. انقر على الإدخال الجديد واضغط على المفتاح الذي تريد استخدامه كتركيبة مفتاح اختصار. فعلت ذلك باستخدام Ctrl+Alt+Shift+x.

Gnome Settings
Add Shortcut Key

في المرة القادمة التي ترغب في إنهاء مورد X، ما عليك سوى استدعاء تركيبة المفتاح (Ctrl+Alt+Shift+x)، وستلاحظ تغيير مؤشر الماوس إلى x. انقر على مورد x الذي تريد إنهاءه وكل شيء تم!

Source:
https://www.tecmint.com/kill-processes-unresponsive-programs-in-ubuntu/