אנדרואיד

כיצד להרוג תהליך בלינוקס

ª

ª

תוכן עניינים:

Anonim

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

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

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

ההבדל העיקרי בין כלים אלה הוא ש- kill מסיים תהליכים המבוססים על מספר מזהה תהליך (PID) ואילו פקודות killall ו- pkill תהליכים פועלים על סמך שמם ותכונות אחרות.

משתמשים רגילים יכולים להרוג תהליכים משלהם, אך לא כאלה ששייכים למשתמשים אחרים, בעוד שמשתמש השורש יכול להרוג את כל התהליכים.

איתותים להרוג מערכת

kill , killall ו- pkill שולחים אות נתון לתהליכים או קבוצות תהליכים מוגדרים. כאשר לא מצוין אות כלשהו, ​​כל כלי שולח 15 ( TERM ).

האותות הנפוצים ביותר הם:

  • 1 (-HUP): כדי לטעון מחדש תהליך. 9 (-להרוג): להרוג תהליך. 15 (-TERM): להפסיק בחינניות תהליך.

ניתן לציין אותות בשלוש דרכים שונות:

  • באמצעות מספר (למשל -1) עם קידומת "SIG" (למשל, -SIGHUP) ללא קידומת "SIG" (למשל, -HUP).

השתמש באפשרות -l כדי לרשום את כל האותות הזמינים:

kill -l # or killall -l

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

הפסקת תהליכים באמצעות הפיקוד kill

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

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

pidof firefox

הפקודה תדפיס את כל תהליכי Firefox:

2551 2514 1963 1856 1771

ברגע שאתה יודע ש- Firefox מעבד PIDs כדי לסיים את כולם שולחים את אות TERM :

kill -9 2551 2514 1963 1856 1771

הפסקת תהליכים באמצעות פקודת killall

הפקודה killall מסיימת את כל התוכניות התואמות לשם שצוין.

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

killall -9 firefox

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

לדוגמה, כדי להפסיק את כל התהליכים הפועלים כ- "sara" של המשתמש, תפעיל את הפקודה הבאה:

sudo killall -u sara

הפסקת תהליכים באמצעות הפקודה pkill

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

pkill -9 firefox

שם התהליך לא צריך להיות התאמה מדויקת.

באמצעות pkill תוכלו גם לשלוח איתות לתהליכים הנמצאים בבעלות משתמש מסוים. כדי להרוג רק את תהליכי ה- Firefox בבעלות "sara" המשתמש, הקלד:

pkill -9 -u sara firefox

סיכום

סיום תוכניות לא מגיב באמצעות הפקודות kill , killall ו- pkill זו משימה קלה. אתה צריך לדעת רק את שם התהליך או את ה- PID.

להרוג את המסוף