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

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

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

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

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

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

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

עכשיו פתח מסוף והקלד את הפקודה הבאה:

להרוג הכל

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

קאל

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

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

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

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

קאל-אל

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

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

קאל - אני
קאל - מקרה

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

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

ps -ef פָּחוּת

פקודה אחת היא עבור החלק PS -ef אשר מפרט את כל התהליכים הפועלים על המערכת שלך ואת הפלט הוא צייץ את הפקודה פחות .

שתי התוכניות שייכות לאותה קבוצה אשר הוא bash.

כדי להרוג את שתי התוכניות בו-זמנית, באפשרותך להפעיל את הפקודה הבאה:

קיל - ג

לדוגמה, כדי להרוג את כל הפקודות פועל בתוך פגז bash להפעיל את הפעולות הבאות:

killall-bash

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

ps -g

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

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

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

קאל-איי

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

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

ניתן להרוג את הפקודה באופן הבא:

killall -O h4

שעה בפקודה הנ"ל עומדת שעות.

תוכל גם לציין כל אחד מהבאים:

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

kill -y h4

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

אל תגיד לי כאשר תהליך לא נהרג

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

programname: no process found

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

killall -q

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

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

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

קיל - ר

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

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

killall -u

אם אתה רוצה להרוג את כל התהליכים עבור משתמש מסוים אתה יכול להשמיט את שם התוכנית.

חכה לקבלת סיום לסיים

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

לשם כך, הפעל את הפקודה הבאה:

קיל -

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

איתותי קניה חזקה

כברירת מחדל הפקודה killall שולח את האות SIGTERM לתוכניות כדי לגרום להם לסגור וזה השיטה הנקייה של תוכניות להרוג.

עם זאת יש אותות אחרים שאתה יכול לשלוח באמצעות הפקודה killall ואתה יכול לרשום אותם באמצעות הפקודה הבאה:

killall -l

הרשימה שחזרה תהיה משהו כזה:

רשימה זו ארוכה מאוד. כדי לקרוא על מה האותות האלה מתכוון להפעיל את הפקודה הבאה:

גבר 7 אות

בדרך כלל אתה צריך להשתמש באפשרות ברירת המחדל SIGTERM אבל אם התוכנית מסרבת למות אתה יכול להשתמש SIGKILL אשר כוחות התוכנית להיסגר אם כי באופן מכובד.

דרכים אחרות להרוג תוכנית

ישנן 5 דרכים אחרות להרוג יישום לינוקס כמו מודגש במדריך מקושר.

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

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

כדי להפעיל את הפקודה להרוג אתה צריך לדעת את מזהה התהליך של תהליך אתה רוצה להרוג. בשביל זה אתה יכול להשתמש בפקודה PS .

לדוגמה, כדי למצוא גרסה פועלת של Firefox אתה יכול להפעיל את הפקודה הבאה:

ps -ef grep

אתה תראה שורה של נתונים עם הפקודה / usr / lib / Firefox / Firefox בסוף. בתחילת השורה תראה את מזהה המשתמש ואת המספר שאחרי מזהה המשתמש הוא מזהה התהליך.

באמצעות מזהה התהליך אתה יכול להרוג את Firefox על ידי הפעלת הפקודה הבאה:

An קבוצה -9

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

כדי להרוג תוכנית כגון Firefox לפתוח מסוף ולהפעיל את הפקודה הבאה:

xkill

הסמן ישתנה כעת לצלב לבן גדול. העבר את הסמן מעל החלון שברצונך להרוג ולחץ על לחצן העכבר השמאלי. התוכנית תצא מיד.

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

כל מה שאתה צריך לעשות כדי להרוג תהליך הוא ללחוץ על "k" מפתח ולהזין את מזהה התהליך של היישום שברצונך להרוג.

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

זו לא האפשרות הפשוטה ביותר בכל אמצעי.

דבר אחד, הפקודה PS מחזירה המון מידע שאתה לא צריך. כל מה שרצית הוא מזהה התהליך. אתה יכול לקבל את מזהה התהליך פשוט יותר על ידי הפעלת הפקודה הבאה:

אתר

התוצאה של הפקודה הנ"ל היא פשוט מזהה התהליך של פיירפוקס. כעת באפשרותך להפעיל את הפקודה kill כדלקמן:

להרוג

(החלף את עם מזהה התהליך בפועל המוחזר על ידי pgrep).

עם זאת, קל יותר לספק את שם התוכנית כדי pkill כדלקמן:

אתר

לבסוף, ניתן להשתמש בכלי גרפי כגון זה שסופק עם אובונטו בשם "מערכת צג". כדי להפעיל את "System Monitor" לחץ על מקש Super (מפתח Windows ברוב המחשבים) והקלד "sysmon" בשורת החיפוש. כאשר מופיע סמל צג המערכת, לחץ עליו.

צג המערכת מציג רשימה של תהליכים. כדי לסיים את התוכנית בצורה נקייה, בחר אותה ולחץ על מקש הסיום בתחתית המסך (או הקש CTRL ו- E). אם זה לא עובד גם לחץ לחיצה ימנית ובחר "להרוג" או הקש CTRL ו- K על התהליך שאתה רוצה להרוג.