הרוג את כל התהליכים השייכים למשתמש עם pkill
תוכן עניינים:
Activity Monitor וכלי שורת הפקודה המסורתי 'kill' מסוגלים לטפל ברוב צרכי סיום התהליך, אבל אם אי פעם היית צריך למקד ולהרוג את כל התהליכים השייכים לחשבון משתמש בודד, אתה יודע זו יכולה להיות משימה מתסכלת. למרות ש-Activity Monitor מאפשר לך למיין "תהליכי משתמש אחרים" ולבחור מספר תהליכים, הוא אינו מאפשר לך לסיים מספר תהליכים בו-זמנית.באופן דומה, פקודות kill ו-killall הסטנדרטיות מכוונות בדרך כלל לתהליכים ספציפיים, ולא לכל משימה בודדת השייכת לחשבון משתמש ספציפי. כאן נכנסת הפקודה 'pkill', שמאפשרת להרוג באופן מיידי כל תהליך ששייך לכל משתמש דרך הטרמינל.
כיצד להרוג את כל התהליכים ממשתמש עם pkill
התחביר הבסיסי לשימוש ב-pkill כדי להרוג את כל תהליכי המשתמש הוא כדלקמן:
pkill -u שם משתמש
וודא שכל התהליכים השייכים לאותו משתמש נסתיימו על ידי שימוש בדגל -u בפקודה ps:
ps -u שם משתמש
בהנחה שהכל התנהל כמתוכנן, תמצא רשימה ריקה שדווחה בחזרה.
pkill אינו תלוי רישיות, כלומר שם משתמש של "TestUser" יזוהה כמו "testuser".
אם אתה מתכוון לנסות את זה בעצמך, עדיף להשתמש במעבר מהיר של משתמש כדי ליזום התחברות חדשה עם חשבון משתמש אחר, או להשתמש בשרת ssh ולבצע אותו בשרת אחר מק מקומי. שימוש ב-pkill בשם המשתמש הפעיל שלך יגרום להפסקת כל התהליכים, חלקם מתרעננים באופן מיידי, אך תהליכי רקע רבים לא יתחילו שוב באופן אוטומטי. זה מוביל לכל מיני התנהגות מוזרה, ובהתאם למה שאתה מפעיל אל תתפלאו נורא לגלות שמערכת ההפעלה תהפוך כל כך בלתי שמישה שתצטרך להתנתק ולהתחבר שוב, או אפילו לאתחל אם המשתמש הפעיל החשבון הממוקד על ידי pkill היה רמת בסיס או ניהול.
הפקודה pkill היא מעט מבער כשהיא מצביעה על שמות משתמש וניתן לחשוב עליה כדרך לעזוב בכוח את כל מה ששייך למשתמש מחובר, אבל זה יכול גם להפוך אותה לחזקה מאוד כלי לפתרון תקלות וכאשר מתמודדים עם תהליכים שאבדו או זומבים שנשארו שלמים למרות התנתק של משתמש.
דיברנו בעבר על פקודת pkill להרוג תהליכים עם תווים כלליים ואפליקציות/תהליכים ספציפיים השייכים למשתמש בודד, ולמרות שזו תוספת לאחרונה ל-Mac מאז Mac OS מ-Mac OS X Mountain Lion והלאה, זה קיים בעולם לינוקס די הרבה זמן.