logo

איך להרוג תהליך בלינוקס?

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

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

איתור התהליכים

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

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

איתור התהליכים לפי פקודת 'top'

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

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

mvc במסגרת אביבית
 top 

הפקודה לעיל תציג את התהליכים הרצים. שקול את הפלט שלהלן:

Kill Process Linux

נוכל לעיין בתהליכים על ידי גלילה למעלה ולמטה בטרמינל. הפקודה העליונה מספקת מסננים שונים לסינון התהליכים, כגון שם תהליך, שימוש במעבד ועוד. כדי לצאת מהחלק העליון, הקש על 'q' מפתח, זה יחזיר אותך למסוף. עם זאת, אנו יכולים להשתמש גם באפשרות היציאה המסורתית על ידי לחיצה CTRL+C מפתחות.

איתור התהליכים לפי פקודת ps ו-grep

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

א : להצגת התהליכים עבור כל המשתמשים

ב: כדי להציג את התהליכים המשמשים משתמש מסוים

איקס : להראות את כל התהליכים. אם לא נציין את אפשרות x, היא לא תציג את תהליך ה-GUI.

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

 ps aux 

שקול את הפלט שלהלן:

Kill Process Linux

הפלט של הפקודה ps דומה ל- חלק עליון פקודה. שם התהליך וה-PID ניתנים בשתי העמודות הראשונות, ושם התהליך ניתן בעמודה הימנית מאוד.

הפקודה ps שימושית יותר מהפקודה העליונה. זה מאפשר לנו לסנן את הפלט עם פקודת grep.

נניח שאנו רוצים לסנן את כל התהליך עם שם המשתמש javatpo+, בצע את הפקודה באופן הבא:

 ps aux | grep javatpo+ 

הפקודה לעיל תסנן את כל התהליך שצוין לפי פקודת grep. שקול את הפלט שלהלן:

Kill Process Linux

הפלט לעיל מספק את פקודת ps וכן את הפונקציונליות של פקודת grep יחד.

איתור התהליך לפי פקודת pidof ו-pgrep

ה pidof הפקודה גם מאפשרת לנו לאתר את התהליך. אם נרצה לעקוב אחר תהליך לפי שמו, הפקודה pidof תהיה שימושית מאוד. הוא מציג את ה-PID של התהליכים כאשר הוא משמש עם שם התהליך.

כדי לאתר את ה-PID של תהליך, בצע את הפקודה pidof באופן הבא:

 pidof process_name 

אם יש לנו את התהליך הפועל עם שם מדויק כרום , בצע את הפקודה כדלקמן כדי לקבל את ה-PID שלה.

 pidof chrome 

שקול את הפלט שלהלן:

Kill Process Linux

הרג תהליך

כעת, כאשר עקבנו אחר התהליכים, אנו יכולים להרוג תהליך. ישנן פקודות שונות המשמשות להרוג תהליך כגון לַהֲרוֹג , לַהֲרוֹג , חלק עליון, ו pkill.

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

  • אם אתה משתמש רגיל, אז אתה יכול להרוג רק את התהליכים השייכים לך. אתה לא יכול להרוג את התהליכים שפועלים על ידי המשתמשים האחרים. ה חלק עליון ו נ.ב ל פקודות מציגות את המשתמשים עם התהליך הקשור.
  • משתמש שורש יכול להרוג את כל התהליכים. עם זאת, אנו יכולים גם להוסיף sudo לפני כל פקודה כדי לבצע אותה כ-root.
  • בלינוקס, כאשר תהליך מומת, אות מיוחד מועבר לתהליכים. אמנם ישנם סוגים שונים של אותות בלינוקס, אבל במקרה זה, לינוקס עוסקת ב SIGKILLS ו טווח אותות. כברירת מחדל. לינוקס שולחת את ה- SIGTERM, שמסיים את התהליך בחן. אם אתה רוצה להרוג תהליך בכוח, השתמש במקום זאת ב-SIGKILL.
  • לינוקס שומרת על מצב התהליכים עד להסרה מלאה מהמערכת. לכן, תהליכי הצאצא יוצגו ברשימת התהליך עד שתהליך אב יימחק.
  • אנחנו לא יכולים להרוג תהליך אם הוא נמצא 'שינה בלתי פוסקת .' מצב זה מתרחש כאשר תהליך מבצע פעולת קלט/פלט. מצב זה ניתן לראות ב-8ה'עמודה של חלק עליון ופס לפקודה.

הרג תהליך על ידי פקודת killall

הפקודה killall היא הטכניקה הקלה ביותר להרוג תהליך אם אתה יודע את שם התהליך המדויק, הוא אינו פועל על ידי אף משתמש אחר, והוא אינו במצב Z או D. בפקודה kill all, אין צורך לאתר את התהליך או ה-PID. כדי להרוג תהליך, בצע את הפקודה באופן הבא:

 killall firefox 

הפקודה לעיל תהרוג את התהליך ותצא מדפדפן פיירפוקס. שקול את הפלט שלהלן:

Kill Process Linux

אם הפקודה תהרוג את התהליך בהצלחה, היא לא תיתן שום פלט.

כדי להרוג את התהליך בכוח, בצע את הפקודה killall עם -SIGKILL באופן הבא:

 killall -SIGKILL process_name 

אנחנו יכולים גם להשתמש ב-9 במקום ב-SIGKILL.

כדי להרוג תהליך באופן אינטראקטיבי, בצע את הפקודה באופן הבא:

 killall -i process_name 

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

 sudo killall process_name 

אנו יכולים גם להרוג תהליך לפרק זמן קבוע על ידי שימוש -או ו דגלים. כדי להרוג תהליך שרץ יותר מ-20 דקות, בצע את הפקודה הבאה: killall -o 20m process_name

כדי להרוג תהליך שרץ פחות מ-20 דקות, בצע את הפקודה הבאה:

 killall -y 20m process_name 

הקיצורים לשימוש בתקופת הזמן הם כדלקמן:

שניות: ש

דקות: מ

שעות: ח

ימים: ד

שבועות: w

חודשים: מ

שנים: י

הרוג תהליך על ידי הפקודה pkill

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

 pkill java 

זה יסגור את כל התהליכים המכילים את השם java. באופן דומה להריגת תהליך פיירפוקס, בצע את הפקודה באופן הבא:

 pkill fire 

שקול את הפלט שלהלן:

Kill Process Linux

אם הפקודה pkill מבוצעת בהצלחה, היא לא תציג שום פלט.

כדי להרוג תהליך בכוח על ידי פקודת pkill, בצע אותו באופן הבא:

 pkill -SIGKILL process_name<p></p> <p>we can also use -9 instead of -SIGKILL. </p>

הרוג תהליך על ידי פקודת ההרוג

פקודת ההרוג היא הכלי הפשוט ביותר להרוג תהליך; כל מה שאנחנו צריכים PID של תהליך. ברגע שנקבל את ה-PID של התהליך, זהו תהליך פשוט קדימה. כדי לסיים תהליך, בצע את פקודת ה-kill ולאחריה PID. כדי לאתר את ה-PID של תהליך, השתמש בפקודה top או ps aux, כפי שהוסבר לעיל.

כדי להרוג תהליך בעל PID 5296, בצע את הפקודה באופן הבא:

 kill 5296 

כדי להפסיק תהליך בכוח, השתמש באפשרות -SIGKILL או -9:

 kill -SIGKILL 5296 

הפקודה לעיל תסיים את התהליך עם PID 5296.

להרוג תהליך בפקודה עליונה

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

Kill Process Linux

כפי שאנו יכולים לראות מהפלט לעיל, יש אפשרות 'PID לאותת/להרוג' כדי להרוג את התהליך מרשימת התהליך למעלה. הקלד את ה-PID של התהליך ולחץ להיכנס מַפְתֵחַ.

אם נשאיר את ה-PID ריק, הוא יסיים את התהליך העליון.

להרוג תהליך על ידי צג מערכת

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

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

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

Kill Process Linux

שלב 3: עיין בתהליך ולחץ לחיצה ימנית עליו שברצונך להפסיק.

שלב 4: בחר באפשרות הרוג. כמו כן, אנו יכולים להשתמש ב- CTRL+K מפתחות להרוג אותו.