אנדרואיד

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

Campeonato Nacional de Trial 4x4 2014 - 1ª Prova St.ª M.ª da Feira

Campeonato Nacional de Trial 4x4 2014 - 1ª Prova St.ª M.ª da Feira

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

Anonim

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

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

kill הפיקוד

kill הוא קליפה המובנית ברוב הפגזים שמקורם בבורן כמו בש ושש. התנהגות הפקודה שונה מעט בין הפגזים לבין ההפעלה העצמאית /bin/kill .

השתמש בפקודת type כדי להציג את כל המיקומים במערכת שלך המכילים kill :

type -a kill

kill is a shell builtin kill is /bin/kill

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

התחביר של הפקודה kill לובש את הצורה הבאה:

kill…

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

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

  • 1 ( HUP ) - טען מחדש תהליך. 9 ( KILL ) - להרוג תהליך. 15 ( TERM ) - עצרו תהליך בחינניות.

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

kill -l

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

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

הפקודות הבאות שוות זו לזו:

kill -1 PID_NUMBER kill -SIGHUP PID_NUMBER kill -HUP PID_NUMBER

PIDs המסופקים לפקודת kill יכולים להיות אחד מהבאים:

  • אם PID גדול מאפס, האות נשלח לתהליך עם מזהה שווה ל- PID . אם PID שווה לאפס, האות נשלח לכל התהליכים בקבוצת התהליך הנוכחית. במילים אחרות, האות נשלח לכל התהליכים השייכים ל- GID של הקליפה אשר עוררה את פקודת kill . השתמש בפקודה ps -efj כדי להציג את מזהי קבוצת התהליכים (GID). אם PID שווה ל -1 , האות נשלח לכל התהליכים עם אותו UID כמו המשתמש המזמין את הפקודה. אם המשתמש המזמין הוא שורש, האות נשלח לכל התהליכים למעט init ותהליך kill PID הוא פחות מ -1 , האות נשלח לכל התהליכים בקבוצת התהליכים עם GID שווה לערך המוחלט של PID .

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

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

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

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

pidof firefox

הפקודה תדפיס את המזהים של כל תהליכי Firefox:

6263 6199 6142 6076

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

kill -9 2551 2514 1963 1856 1771

במקום לחפש PID ואז לסיים את התהליכים, אתה יכול לשלב את הפקודות לעיל לאחת:

kill -9 $(pidof firefox)

טעינה מחדש של תהליכים באמצעות פקודת kill

מקרה נפוץ נוסף לשימוש kill הוא שליחת אות HUP , HUP לתהליכים לטעון מחדש את הגדרותיו.

לדוגמה, כדי לטעון מחדש את Nginx, עליך לשלוח איתות לתהליך האב. ניתן למצוא את מזהה התהליך של תהליך האב Nginx בקובץ nginx.pid , שלרוב ממוקם בספריית /var/run .

השתמש בפקודת cat כדי למצוא את ה- PID הראשי:

cat /var/run/nginx.pid

30251

לאחר שמצאת את ה- PID הראשי טען מחדש את הגדרות ה- Nginx על ידי הקלדה:

sudo kill -1 30251

הפעלה שלמעלה חייבת להיות מופעלת כשורש או כמשתמש עם הרשאות sudo.

סיכום

פקודת ה- kill משמשת לשליחת אות לתהליכים. האות הנפוץ ביותר הוא SIGKILL או -9 , המסיים את התהליכים הנתונים.

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