כיצד להשהות & חידוש אפליקציה או תהליך ב-Mac OS X

Anonim

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

זה אומר שאתה יכול לקחת תהליך שצורך 100% מעבד ולהשהות אותו זמנית בזמן שאתה עושה משהו אחר, ואז לחדש אותו כשתהיה מוכן לתת לתהליך לעשות את שלו. זה מושג באמצעות טריק שורת פקודה, ואנו נסקור שתי דרכים שונות לעשות זאת על ידי שימוש בפקודות kill ו-killall עם דגלי -STOP ו-CONT. באופן אידיאלי יהיה לך קצת נוחות וידע עם שורת הפקודה לפני השימוש בזה, אבל זה בהחלט לא הכרחי.

לפני שמתחילים, הפעל את אפליקציית Terminal, שנמצאת ב- /Applications/Utilities/, והפעל גם את Activity Monitor, שנמצא באותה תיקיה.

כיצד להשעות זמנית עצירת תהליך או אפליקציה ב-Mac OS X

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

kill -STOP PID

ה-PID הוא תמיד מספר, ולכל תהליך שפועל ב-Mac יש מזהה משויך.

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

מציאת ה-PID והפסקת התהליך הקשור

זו השיטה הידידותית יותר למשתמש, תוך שימוש ב-Activity Monitor:

  • ממעקב אחר פעילות, השתמש בפונקציית החיפוש בפינה השמאלית העליונה והקלד את שם האפליקציה שברצונך להשעות (למשל: iTunes)
  • כאשר תהליכי ההתאמה ו/או האפליקציות גלויים, אתר את מזהה התהליך על ידי עיון בעמודה "PID"
  • הוסף את ה-PID התואם לפקודת ההרוג שהוזכרה לעיל, כך:
  • kill -STOP 3138

  • שים לב שפעילות ה-CPU עבור מזהה תהליך זה עומדת כעת על 0%, מה שמציין שהתהליך הושהה (טכנית, נעצר)

אל תשכח את ה-PID, או יותר טוב, אל תסגור את חלון המסוף עדיין, כי אותו PID הוא כיצד תחדש את היישום כדי להמשיך להשתמש בו שוב.

תגלו שההשפעה של עצירת תהליך על השימוש במעבד היא דרמטית, צילום מסך זה מדגים את iTunes צורך 70% מעבד בזמן הפעלת ה-Visualizer שלו, ואת אותו תהליך iTunes לאחר שהוא הופסק עם - דגל עצור. התהליך ממש נעצר על עקבותיו:

אלה עם יותר ידע בשורת פקודה עשויים להעדיף להשתמש ב-ps ולא ב-Activity Monitor, וזה באמת די קל:

ps aux |grep שם

שנה את "שם" לאיזה התחלה של תהליך או שם אפליקציה, אתר את ה-PID ולאחר מכן הכנס אותו לפקודת kill:

kill -STOP 92841

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

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

כיצד לחדש בקשה או תהליך "נעצר"

חידוש יישום שנפסק או מושהה הוא פשוט, פשוט שנה מעט את פקודת ה-kill והשתמש באותו מזהה תהליך שאחזרת מהשלבים הקודמים:

kill -CONT PID

לדוגמה, כדי לחדש את אפליקציית iTunes באמצעות ה-PID מקודם:

kill -CONT 3138

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

צילום המסך למטה מדגים את הטריק הזה תוך שימוש בפקודות kill ו-killall:

שימוש ב-STOP ו-CONT עם killall הוא בעצם זהה, אבל יש לו כמה מגבלות לגבי שמות, ולכן כיסינו את השיטה הישירה יותר של שימוש ב-kill המבוסס על PID במקום זאת. אף על פי כן, בואו נדגים זאת גם עם Killall.

עצירה והמשך יישומים לפי שם האפליקציה

אם אתה יודע את היישום או שם התהליך המדויק, אתה יכול גם להשתמש בפקודה 'killall' עם הדגל -STOP כדי לעצור תהליכים.זה יכול להיות קל יותר עבור אפליקציות שקל לזהות לפי שם, אבל יש לו מגבלות כשמדובר בעבודה עם תהליכים עם שמות מורכבים, או להשהיית תהליך ספציפי שיש לו תהליכים כפולים באותו שם (כמו לשונית Chrome ספציפית או חלון מעורבב עם תהליכים רבים של "Google Chrome Renderer"), ולכן כיסינו תחילה את גישת ה-PID כי היא הרבה יותר ישירה.

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

killall -STOP AppName

לא בטוח מה שם האפליקציה? השתמש ב-ps וב-grep:

ps aux |grep AppName

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

ps aux|grep Chrome

או שאתה יכול פשוט למקד את התהליך עם שם אפליקציה ספציפי כמו כך:

"

killall -STOP -c Google Chrome"

חידוש תהליכים ואפליקציות עם killall הוא עניין של שינוי הדגל מ-STOP ל-CONT, כל השאר זהה:

killall -CONT AppName

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

"

killall -CONT -c Google Chrome"

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

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

כיצד להשהות & חידוש אפליקציה או תהליך ב-Mac OS X