כיצד אנחנו מסיימים תהליך/משאב בלינוקס? ברור שאנחנו מוצאים את ה-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

חשוב לשים לב ש-xkill לא מבטיח שסגירת התקשורת שלו תהרוג/תבטל אותו בהצלחה. רוב היישומים ייהרגו כאשר התקשורת שלהם עם השרת נסגרת. עם זאת, ייתכן שמספר קטן ימשיך לרוץ.
נקודות שחשוב לציין כאן:
- הכלי עובד רק כאשר שרת X11 פועל, מאחר ו-xkill הוא חלק מתוכניות X11.
- אל תבלבל בין סגירה והריגה של משאב. בעת הריגת משאב עשויים לצפות שלא ייצא בצורה נקייה.
- זה אינו תחליף לכלי ההריגה.
האם עלי לעבור לשורת פקודה של Linux כדי להפעיל את xkill?
לא, אין צורך להפעיל xkill משורת הפקודה של לינוקס. אפשר לקבוע קיצור מקשים ולקרוא ל-xkill על ידי הקש על צירוף מקשים זהה.
הנה כיצד להגדיר קיצור מקשים בסביבת משחק המסורתית gnome3.
גשו ל- הגדרות –> בחרו מקשי מקשים, לחצו על ‘+’ והוסיפו שם ופקודה. לחצו על הכניסה החדשה והקישו על המקש שברצונכם להשתמש כצירוף מקשים קיצור. עשיתי Ctrl+Alt+Shift+x.


בפעם הבאה שתרצו להשמיד משאב X פשוט קראו לצירוף המקשים (Ctrl+Alt+Shift+x), ותבחינו שהסמן העכבר שלכם השתנה ל- x. לחצו על x המשאב שברצונכם להשמיד וסיימנו!
Source:
https://www.tecmint.com/kill-processes-unresponsive-programs-in-ubuntu/