בעיקרון יש כאלה 4 דרכים de מטר ביעילות א תהליך en לינוקס: להרוג אותו בשם, על ידי ציון חלק מהשם, על ידי PID, הצבעה על חלון התהליך בעזרת סמן העכבר. בואו נראה אחד אחד ... |
להרוג: להרוג תהליך באמצעות ה- PID שלו
הדרך המסובכת ביותר אך יחד עם זאת הדרך המדויקת ביותר להרוג תהליך היא באמצעות ה- PID שלו ("מזהה תהליכים"). כל אחת משלוש הגרסאות הללו יכולה לשרת:
kill -TERM pid kill -SIGTERM pid kill -15 pid
באפשרותך להשתמש בשם האות (TERM או SIGTERM) שברצונך לשלוח לתהליך או במספר הזיהוי שלו (15). כדי לראות רשימה מלאה של אותות אפשריים, אני מציע לבדוק את המדריך להרוג. לשם כך, הפעל:
אדם הורג
בואו נראה דוגמה כיצד להרוג את Firefox:
ראשית, עליך לגלות את ה- PID של התוכנית:
ps -ef | grep פיירפוקס
פקודה זו תחזיר משהו כזה:
1986? סל 7:22 /usr/lib/firefox-3.5.3/firefox
אנו משתמשים ב- PID שהוחזר על ידי הפקודה לעיל כדי להרוג את התהליך:
להרוג -9 1986
killall: להרוג תהליך המשתמש בשמו
פקודה זו קלה מאוד
kill_ process_name
דבר אחד שיש לזכור בעת השימוש בשיטה זו הוא שאם יש יותר ממופע אחד של אותה תוכנית הפועלת, כולם יהיו סגורים.
pkill: להרוג תהליך באמצעות חלק משמו
אפשר להרוג תהליך על ידי ציון השם המלא או חלק מהשם. זה אומר שאין צורך לזכור את התהליך PID לשליחת האות.
pkill part_process_name
בתמורה, שיטה זו תהרוג את כל התהליכים המכילים את המילה שהוזנה. זה אומר שאם יש לנו 2 תהליכים פתוחים שמשתפים מילה בשם, שניהם ייסגרו.
xkill: להרוג תהליך על ידי בחירת החלון בעזרת העכבר
זו השיטה הפשוטה והמעשית ביותר. במקרה של אסון, פשוט לחץ על Alt + F2 כדי להעלות את תיבת הדו-שיח המאפשרת לך להפעיל פקודות. משם, הפעל את הפקודה הבאה:
xkill
סמן העכבר יהפוך לגולגולת קטנה. כל שנותר הוא ללחוץ על החלון שברצונך לסגור ולהבליט. תהליך ביי.
כמה הערות אחרונות
לסיום, רציתי לשתף כמה טיפים שעשויים להועיל. בלינוקס, כמו ב- Windows, כאשר תהליך נתקע, ניתן בדרך כלל לסגור את החלון המדובר על ידי לחיצה על כפתור ה- Close (שצורתו כמו X). לאחר מספר שניות יופיע חלון השואל אותנו אם אנו באמת רוצים להרוג את התהליך מכיוון שהוא אינו מגיב כראוי. אנחנו אומרים כן וזהו.
פירוש הדבר שיש להשתמש בשיטות המתוארות כאן כאשר שום דבר לא קורה כאשר אתה לוחץ על כפתור הסגירה של החלון המדובר.
במקרה של אסון גדול, אל תשכח שלפני הלחיצה ניתן לבצע א הפעלה מחדש "בטוחה".
לבסוף, יכול להיות מאוד שימושי לגלות אילו תהליכים פועלים כרגע. לשם כך, בסביבות שולחן העבודה השונות (GNOME, KDE וכו ') יש כלים גרפיים המאפשרים משימה זו. עם זאת, אם אינך יכול לגשת אליהם או פשוט רוצה לעשות זאת מהטרמינל, תוכל לבצע את הפעולות הבאות:
חלק עליון
אם זה לא עובד או שלא מותקנת החבילה המתאימה, תמיד תוכל להפעיל:
נ.ב.א
זה יפרט את כל התהליכים הפועלים, יחד עם שמותיהם וה- PID שלהם.
«Ps -ef | "grep firefox" אינו זהה ל- "pgrep Firefox"?
ובכן באופן אישי אני משתמש ב- "pidof" כדי להשיג את ה- PID.
ברכות!
מה שאני הכי משתמש בו הוא:
~ $ למעלה
מראה לנו את רשימת התהליכים הפעילים, אז אם נלחץ על "k" או נכתוב "kill" הוא יבקש מאיתנו את התהליך של הריגת התהליך (אנו קוראים אותו מלמעלה) ואז נכנס, כדי לצאת למעלה אנו לוחצים על "q".
כניסה טובה מאוד, אבל הטופס הזה נראה לי פשוט יותר. אם הטרמינל לא פועל ננסה עם ctrl + alt + f [1-6] ועושים את זה משם.
איזה גאונים חבר'ה תודה שעזרו לי נתן לי יד נהדרת עם הפוסט הזה !!!
שלום! יכול להיות שפקודת xkill רק גורמת לתוכנית X להיעלם ונשארת פתוחה? כי תמיד קורה לי שכשאני הולך למנהל המשימות התהליך עדיין חי ואני צריך להרוג אותו.
אני מודה בזה, אני מתחיל מאוד. ופקודות killall ו- pkill יעזרו לי מאוד. תודה שהעלתם אותם, בלוג טוב מאוד.
¡Saludos!
אני ממליץ על htop 😀 זה הכי טוב בשביל זה ...
עובד עם ncurses
sudo apt-get להתקין htop
pidof אינו מיועד לכל ה- Unixes, למשל ל- Solaris אין את הפקודה הזו, וזה מוביל אותנו להשתמש ב- ps החזק.
לגבי
htop הוא יותר מילולי וידידותי למשתמש
במקרה של שימוש ב- PID, הדבר הנכון הוא $ kill PID ששולח את אות SIGTERM כברירת מחדל, במקרה שהתהליך לא מגיב, משתמשים ב- $ kill -9 PID ששולח את האות SIGKILL, האחרון מבטל את התהליך מבלי לתת זה אותו סגירה כהלכה (יתכן שיש אובדן נתונים למשל). SIGTERM שואל בבקשה, SIGKILL נותן לו גרזן 🙂
תודה רבה, אני אבדוק את זה אם זה יקרה לי שוב.
שאילתה. כאשר סביבת שולחן העבודה תלויה באובונטו (אני משתמש באחדות), האם ניתן להפעיל אותה מחדש מבלי להרוג את כל התהליכים האחרים? אני לא מאוד מתקדם בלינוקס וזה קורה לי לפעמים שאני עובד וזה תלוי, הדבר היחיד שאני עושה זה הפעלה מחדש בטוחה, אבל אני מאבד את כל מה שעבדתי עליו.
אני לא יודע אם הספק שלי מובן.
לגבי
אי אפשר להרוג תהליך במצב זומבים בדרך המסורתית.
כאן לפרטים נוספים: esdebian.org/wiki/matar-proceso-zombie
למתקדמים יותר, איך הורגים תהליך במצב ZOMBIE?
רק כדי ליצור צ'אט קטן 😀
טוב מאוד, בדיוק מה שהייתי צריך ..
האמת היא שפקודת ההרוג שימושית מאוד. היכולת להרוג תהליכים מעצבנים רק על ידי הפעלת kill זה נהדר. סוף סוף פקודה שמשרתת משהו.
שאלה תיאורטית: הריגת תהליך פירושה שהוא מפסיק לעבוד. אז השאלה שלי היא הפוכה, אם אני רוצה להפעיל מחדש את התהליך שהרגתי, איך אני עושה את זה?
ובכן שים ./( שם התהליך) &
בעזרת זה אתה מריץ אותו שוב וגם ה- PID שלך ייצא 😀
מצוין, הספקתי לחפש עזרה כזו. זה היה מאוד שימושי עבורי. תודה רבה על השיתוף.
ברכות מסן לואיס פוטוסי, מקסיקו.
כיצד אוכל להרוג שני תהליכים בידיעת ה- PID שלהם באותה פקודה?
אני חושב שזה היה 'להרוג [PID ראשון] [PID שני]
מאמר מעניין מאוד. אתר זה הוא אתר הלינוקס הראשי שלי.
אני בדרך כלל משתמש:
גרזן ps | grep process_name (זה כדי לאתר אותו במערכת)
להרוג -9 תהליך_יד
אני משתף קורס אונליין מקוון בחינם שמסתובב:
https://aprendemia.com/cursos/curso-de-bash-scripting אני מקווה שזה יהיה שימושי.
ואם הייתי רוצה שזה יהיה פרופיל בלינוקס רק זה שנסגר כמו שצריך?
דוגמה יש לי שני פרופילי Firefox פתוחים
אבל אני רק רוצה שפרופיל אחד ייסגר
פרופיל 1
פרופיל 2
אני רוצה שרק פרופיל 2 ייסגר כפי שהפקודה אמורה להיות
מראש תודה על התשובה
כיצד אוכל להרוג תהליכי חזית של אובונטו, עם שורת פקודה אחת