כיצד להרוג תהליכים באמצעות לינוקס

מדי פעם תוכנית נתקעת, ובמקרה זה אתה צריך שיטה להרוג אותה. לינוקס מציע מספר גישות לסיום תוכניות בכוח מהקליפה.

כיצד להשתמש בפקודה 'killall'

ה להרוג הכל הפקודה הורגת את כל התהליכים לפי שם. זה אומר שאם יש לך שלוש גרסאות של אותה תוכנית פועלות, הפקודה killall הורגת את שלושתן.

לדוגמה, פתח תוכנה קטנה כגון מציג תמונות. כעת פתח עותק נוסף של אותו מציג תמונות. דוגמה זו משתמשת ב-Xviewer, שהוא שיבוט של Eye Of Gnome.

פתח מסוף והקלד את הפקודה הבאה:

killall xviewer

שני המופעים של התוכנית נסגרים.

להרוג את התהליך המדויק

פקודת killall עשויה להניב תוצאות מוזרות. אם יש לך שם פקודה שאורכו יותר מ-15 תווים, פקודת killall פועלת רק על 15 התווים הראשונים. אם, לפיכך, יש לך שתי תוכניות שחולקות את אותן 15 התווים הראשונים, שתי התוכניות מבוטלות למרות שרצית להרוג רק אחת.

כדי לעקוף את זה אתה יכול לציין את המתג הבא, אשר הורג רק קבצים התואמים לשם המדויק.

killall -e

התעלם מהמקרים בעת הרג תוכניות

כדי לוודא שהפקודה killall מתעלמת מהמקרה של שם התוכנית שאתה מספק, השתמש בפקודה הבאה:

קיללל -אני
killall --תעלם-מקרה

הרוג את כל התוכניות באותה קבוצה

כאשר אתה מפעיל פקודה כמו הפקודה הבאה, היא יוצרת שני תהליכים:

ps -ef | פָּחוּת

פקודה אחת היא עבור ps -ef חלק, המפרט את כל התהליכים הפועלים במערכת שלך, והפלט מועבר אל פחות פיקוד. שתי התוכניות שייכות לאותה קבוצה, כלומר לַחֲבוֹט.

כדי להרוג את שתי התוכניות בבת אחת, הפעל את הפקודה הבאה:

killall -g

לדוגמה, כדי להרוג את כל הפקודות הפועלות ב-bash shell, הפעל את הדברים הבאים:

killall -g bash

כדי לרשום את כל הקבוצות הפועלות, הפעל את הפקודה הבאה:

ps -g

קבל אישור לפני הרג תוכניות

ברור שפקודת killall היא פקודה חזקה, ואתה לא רוצה להרוג בטעות את התהליכים הלא נכונים.

כאשר אתה משתמש במתג הבא, אתה נשאל אם אתה בטוח לפני שכל תהליך מומת.

killall -i

להרוג תהליכים שפועלים במשך זמן מסוים

תאר לעצמך שהרצת תוכנית והיא לוקחת הרבה יותר זמן ממה שקיווית.

אתה יכול להרוג את הפקודה בדרך הבאה:

killall -o h4

ה ח בפקודה לעיל עומדת על שעות - פקודה זו הורגת תהליכים הפועלים במשך ארבע שעות או יותר.

ציין כל אחת מאבני הדרך הבאות בזמן:

  • ס: שניות
  • M: דקות
  • ח: שעה (ות
  • ד: ימים
  • w: שבועות
  • M: חודשים
  • y: שנים

לחלופין, כדי להרוג פקודות שרק התחילו לפעול, השתמש במתג הבא:

killall -y h4

הפעם הפקודה killall הורגת את כל התוכניות הפועלות פחות מ-4 שעות.

אל תגיד לי מתי תהליך לא נהרג

כברירת מחדל, אם תנסה להרוג תוכנית שאינה פועלת, תקבל את השגיאה הבאה:

שם תוכנית: לא נמצא תהליך

אם אינך רוצה שיגידו לך אם התהליך לא נמצא, השתמש בפקודה הבאה:

killall -q

שימוש בביטויים רגולריים

במקום לציין שם של תוכנית או פקודה, ציין ביטוי רגולרי כך שכל התהליכים התואמים לביטוי הרגולרי ייסגרו על ידי הפקודה killall.

כדי להשתמש בביטוי רגולרי השתמש בפקודה הבאה:

killall -r 

להרוג תוכניות עבור משתמש ספציפי

כדי להרוג תוכנית בבעלות משתמש ספציפי, השתמש ב- -u החלף:

killall -u 

השמט את שם התוכנית כדי לסיים את כל התהליכים של אותו משתמש.

המתן עד ש-killall יסתיים

כברירת מחדל, killall חוזר למסוף כשאתה מפעיל אותו, אבל אתה יכול לאלץ את killall להמתין עד שכל התהליכים שצוינו ייסגרו לפני שתחזיר אותך לחלון הטרמינל.

הפעל את הפקודה הבאה:

killall -w

אם התוכנית לעולם לא תמות, אז גם Killall תמשיך לחיות.