אני שמח שחזרתם אלי לחלק החמישי של המדריך, אם לא עברתם על החלקים הראשונים, מאוד חשוב לעבור עליהם מאחר ובלי החלקים הראשונים לא תצליחו לתרגל ולהבין את החלק הנוכחי, את כל החלקים של המדריך ניתן לקרוא כאן: לינק
במדריך זה נלמד כיצד:
1) איך להציג תהליכים (פרוססים - Processes) רצים בלינוקס?
2) איך למצוא תהליכים (פרוססים - Processes) לפי מספר ID או שם?
3) איך לעצור תהליכים (פרוססים - Processes) בלינוקס?
4) איך לתת עדיפות (Priority) לתהליך (Process) מסוים?
5) איך להריץ פקודה מסוימת או תהליך מסוים "ברקע"?
6) איך לנהל תהליכים (פרוססים - Processes) בצורה יותר נוחה בלינוקס?
1. איך להציג תהליכים (Processes "פרוססים") בלינוקס?
אני חייב להגיד שכשהגעתי למצב שבו אני צריך לנהל פרוססים (תהליכים) בלינוקס, הייתי קצת בשוק, כי ניהול פרוססים בלינוקס מתחלק לכמה חלקים ואני אעבור כאן על רוב האופציות הכי "חיוניות" אבל אכתוב עם פירוט קצר את רובן.
א.1 הפקודה ps והפרמטרים שלה.
¿? אנחנו לא נעבור על כל הפרמטרים של הפקודה הזאת כי יש לה 19 פרמטרים "AacefHhjkLlmrSTuvwx"¿?
כעקרון יש שלושה כלים שאיתם אפשר להציג\לנהל פרוססים, בעזרת הפקודה ps בשילוב של כמה וכמה פרמטרים, הפקודה top והתוכנה htop, אנחנו נתחיל מהכי קל, הפקודה ps (לדעתי הפקודה הזאת זה הדבר הכי לא נוח שיש אבל הכי מהיר בשביל לקבל מידע פשוט), ברגע שנקיש את הפקודה, פשוט נקבל רשימה של הפרוססים שרצים לנו כרגע בסשן בטרמינל שלנו, עם המידע הבסיסי ביותר:
- PID - מזהה תהליך Process ID
- TTY - הטרמינל שממנו הריצו את הפקודה\תוכנה.
- Time - הכוונה כאן לא כמה זמן רץ התהליך אלה "זמן ניצולת מעבד" זאת אומרת כמה זמן ה"תוכנה" ניצלה את המעבד, לכן בתצלום מסך זה "0".
- CMD - הפקודה\תוכנה שרצה כולל הפרמטרים שהריצו עם הפקודה (אם היו).
כמו שאמרתי לפני כן, לפקודה ps יש המון פרמטרים נתחיל עם הפשוט ונלך למסובכים יותר אבל לא נעבור על כולן.
הפרמטר הראשון f- המשמעות שלו "Full format listing" זאת אומרת פורמט מלא, לכל הפרמטרים כאן יתווספו כמה וכמה פרטים כמו כמו זמן:
- Stime - הכוונה "Start Time" מתי הריצו את הפקדוה
- PPID - לכל תהליך יש "תהליך הורה" Parent process אז במקרה הזה נוכל לראות את ה Parent Process ID גם.
וישנה אופציה לקבל עוד יותר פרטים בעזרת הפרמטר F- (זאת לא טעות, זה אותה אות רק אות גדולה), נקבל עוד יותר פרטים, שימו לב להבדל: סינטקס ps -f ו ps -F
במקרה של הפקודה הזאת, חשוב להבין מה המשמעות של ה-"?", אז במקרה הזה במידה והפרוסס הותחל בידי המערכת והוא לא הופעל משום טרמינל על ידי המשתמש יופיע הסימן "?" ואם זה משתמש, יהיה כתוב pts, או pts/2 במידה וזה מטרמינל מספר 2, כמו כן יש עמודה נוספת שנקראת STAT בתוך העמודה הזאת יש כמה סימנים שחשוב להבין מה הם אומרים:
R - הפרוסס כרגע רץ .
S (אות "S" גדולה) - התהליך בהמתנה "ישן" פחות מ 20 שניות.
I - הפרוסס במצב Idile.
D - הפרוסס מחכה לקלט-פלט.
Z - פרוסס "זומבי" זאת אומרת הוא סיים את התהליך שלו אבל התהליך הראשי עוד לא קיבל את המידע ממנו.
T - פרוסס עצר.
W - תהליך משתמש בזכרון ה Swap.
< - תהליך עם עדיפות (Priority) גבוהה.
N - תהליך עם עדיפות (Priority) נמוכה.
s - (אות "s") בקטן - מדובר על "תהליך ראשי".
א.3 הינה עוד דוגמאות לפקודות שפשוט יראו לכם את אותו המידע אבל בצורה אחרת, כאשר אצל כולם כמעט המידע יהיה זהה רק בסדר אחר.
להציג פרוססים של משתמש מסוים: ps -U, נוכל להקיש לאחר ה"U" את המשתמש הרצוי ונקבל את כל מה שהוא מריץ, בתור ברירת מחדל אם נריץ את הפקודה ps -u (והאות "u" תהיה בקטן) נקבל אך ורק מידע עבור כמה עמודות כמו שם משתמש, אחוז ניצול מעבד, pid ו cmd.
דוגמא ל : ps -u:
¿? אם נריץ את הפקודה עם המשתמש root בסוף נקבל בעמודה tty רק "?" ¿?
לדוגמא, אני מריץ את הדפדפן FireFox נוכל לראות אותו כאן אם נוסיף את השימוש בפקודה grep (עליה למדנו בחלק 5)
ואז הפקודה תהיה בנויה בצורה הזאת : ps -U lev|grep firefox
א.4 להציג את כל הפרוססים של המשתמש שלכם ps -ux:
ps -e -o pid=PID,uname=USERNAME,pcpu=CPU_USAGE,pmem=%MEM,comm=COMMAND
אני אשנה את זה למשהו יותר "קריא" בשביל הנסיון:
ps -e -o pid=Tahalich,uname=meshtames,pcpu=meabed,pmem=zikron,comm=pkuda
2. איך להציג פרוססים לפי מספר ID?
להציג תהליכים תהליכים מסויימים לפי מספר ps -p process_id_number , PID (ניתן לשלב כמה PID ביחד):
כפי שהבנתם יש המון פרמטרים, החלק הכי מגניב, אפשר לשלב אותם ולקבל תוצאות שונות, לדוגמא נשלב את שלושת הפרמטרים הבאים aux הינה מקרא קצר:
a - הצגת מידע אודות כל התהליכים וכל המשתמשים.
u - הצגת שם המשתמש שמריץ את הפרוסס.
x - מוסיף גם את הטרמינלים מהם רצים התוכנות.
ואז מקבלים פקודה שנראת כך ps -aux ומקבלים המון מידע שימושי:
¿? התצורה הזאת היא התצורה השימושית ביותר בפקודה ps ממה שאני ראיתי ברשת¿?
3. איך לעצור פרוססים בלינוקס?
מטבע הדברים הפקודה לעצור פרוסס היא בעזרת הפקודה Kill אבל כמו רוב הדברים בלינוקס, גם כאן לא הכל פשוט.
מאחורי הקלעים, כשאנחנו מפעילים את הפקודה "kill" אנחנו בעצם שולחים "סימן kill" לפרוסס שאנחנו רוצים לעצור, אותו סימן נקרא בלינוקס "סיגנל" בשביל לראות את כל הסיגנלים אנחנו נריץ את הפקודה Kill -l.
בהרצת הפקודה kill -l אנחנו נקבל רשימה של "סיגנלים" שאפשר לשלוח לפרוסס שלנו ובעצם להחליט אם אנחנו רוצים "לבקש" ממנו שהוא יעצור ואז הכל יעצר בצורה יפה, או לחלופין להכריח אותו "בכוח" ואז הוא יסגר לא משנה מה.
להלן הרשימה:
לפני כן, חשוב לציין אם אתם כותבים את הפקודה kill ואז את התהליך, אתם בעצם משתמשים במספר 15 ברשימה הזאת, הינה הסבר על שתי הסיגנלים הכי נפוצים (כולל מספר 15):
- 1) מספר 15 "Sigterm" - המשמעות היא Terminate "חסל" הסיגנל הזה, הוא גם זה שנשלח בתור ברירת מחדל כשאתם כותבים נטו את הפקודה Kill, ובעיקרון מתבצע Soft kill (קצת נוגד את השם הייתי אומר..).
- 2) מספר 9 "SIGKill" - כבה תהליך בכוח.
ישנן כמה דרכים להשתמש בפקודה הזאת:
א. לרשום kill proces id - לצורך דוגמא : kill 6400 , במקרה שלי אני אסגור את FireFox שהמספר ID שלו זה 7146:
א. לרשום kill proces id - לצורך דוגמא : kill 6400 , במקרה שלי אני אסגור את FireFox שהמספר ID שלו זה 7146:
ב. לרשום kill -[signal_number] process id לצורך דוגמא: kill -9 9442, גם הפעם נסגור את FireFox:
ג. לרשום kill -s [signalname] process id לצורך דוגמא: kill -s SIGTERM 9442
ד. אם נרצה לעצור תהליך בעזרת השם של התהליך, נוכל להשתמש בפקודה killall בפורמט הבא killall firefox,
תקחו בחשבון שבמקרה הזה, הפקודה תחפש את כל מה שתואם ל "firefox" והיא תסגור אותו - לא רק חלון אחד, אלה את כל החלונות שפתחתם שהם נקראים "firefox".
תקחו בחשבון שבמקרה הזה, הפקודה תחפש את כל מה שתואם ל "firefox" והיא תסגור אותו - לא רק חלון אחד, אלה את כל החלונות שפתחתם שהם נקראים "firefox".
4. איך לתת עדיפות (Priority) לתהליך (Process) מסוים?
מאוד מעניין לראות שככל שאתה נכנס יותר לעומק הדברים בלינוקס, אתה מגלה שבעצם כל אחד "המציא" משהו למערכת הזאת ותרם בצורה כזאת או אחרת, בנוסף רואים עד כמה המוח של אותם האנשים חשב בצורה אחרת, ממש כמו שסטיב ג'ובס הפך את המשפט "Think different" לסוג של "מותג", ניהול "עדיפות" של תהליכים בלינוקס נקרא "נחמדות" או באנגלית "Niceness" כן, כן, כמו ששמעתם, צריכים להיות נחמד למחשב ! 🤣 ובעצם ניהול העדיפות של הפרוסס מתבצע בעזרת שתי פקודות האחת היא nice והשניה היא renice.
4.א הפקודה renice - להכיל עדיפות על תהליך (Process) שכבר רץ.
ראשית, נבדוק אילו פרוססים רצים בסשן שלנו בעזרת תצוגה "ארוכה" ps -l במקרה שלי נקבל שלושה תהליכים שרצים :
F- הדגלים.
S או STAT - מצב התהליך.
PID - המספר המזהה של התהליך.
PPID - המספר המזהה של תהליך האב.
C או CP השימוש במעבד ומידע על התזמון.
C או CP השימוש במעבד ומידע על התזמון.
PRI - העדיפות של התהליך.
NI - ערך ה NICE.
NI - ערך ה NICE.
ADDR - כתובות הזיכרון של התהליך.
SZ - השימוש בזיכרון וירטואלי.
SZ - השימוש בזיכרון וירטואלי.
WCHAN - מזהה, למשל כתובת זיכרון, לאירוע שהתהליך ממתין לו, אם קים כזה.
TT או TTY - המסוף שקשור לתהליך.
TIME - משך הזמן בו התהליך השתמש במעבד.
CMD או COMMAND - שם התהליך, כולל הארגומנטים לפקודה, אם היו. לעיתים קרובות ברישום קטוע.
מה ההבדל בין Priority לבין Niceness בלינוקס?
חשוב להבין מה ההבדל בין PRI ("Priority" עדיפות תהליך) ו NI (Niceness "נחמדות תהליך"), בעיקרון ההבדל הוא כזה, PRI נקבע על ידי הליבה של לינוקס, אתם בטח מכירים את המושג "Kernel" (שזה הפירוש של המילה "ליבה" באנגלית), העדיפות במקרה הזה נקבעת לתהליכים שרצים בזמן אמת ומסומנת על ידי "RT", התווך של התהליכים האלה הוא מ-0 עד 139, העדיפות לתהליכים של הליבה (המערכת) הם מ-0 עד 99 והתווך לתהליכים של משתמש הם מ 100 עד 139.
במקרה של NICE - המשתמש הוא זה שיכול להחליט על עדיפות המשאבים שתקבל התוכנה, זאת אומרת שהמשתמש יכול להגיד ללינוקס "תשמע, תריץ את התוכנה הזאת לפני התהליכים האחרים ותן להם משאבים" כמו כן בתור משתמש עם הרשאות אדמין (ROOT) תוכלו לתת עדיפות גם לתהליכים של המערכת, התווך הוא מ 20- עד 20 כאשר הכי גבוהה זה 20-,
ברירת המחדל הוא "0" והעדיפות הכי נמוכה היא "20" גם כן.
בשביל לשנות תהליך, צריך להשתמש ב SUDO אבל רק אם אנחנו מעלים את העדיפות של התהליך, בהורדת עדיפות אין צורך בשימוש ב SUDO, אז במקרה הזה הרצתי את vi (עורך הטקסט שמגיע מובנה בלינוקס, בהמשך יהיה מדריך שלם רק על vim\vi זה בערך אותו דבר וגם על עוד עורך טקסט ידוע בשם nano, אז כרגע רק נריץ אותו לצורך הדגמה ברקע) פעמיים בשביל שאפשר יהיה לבצע איתו שינויים, לצורך כך נריץ את הפקודה vi, יפתח לנו ממשק של עריכת טקסט, ונלחץ במקלדת את ctrl+z זה ישים את התוכנה "ברקע", ואז נקיש את ps -l ונוכל לראות את vi נמצא ברשימת התהליכים של הסשן שלנו:
עכשיו לצורך שינוי העדיפות אנחנו נריץ את הפקודה ובה נוסיף את המספר מ 20- עד 20 ואת מספר המזהה של התהליך בצורה הבאה: [sudo renice [nice_value] -p [process_id ואז נתבקש להכניס סיסמא של המשתמש שלנו ובעצם נוכל לראות את השינוי שנעשה במקרה שלי זה יראה ככה: sudo renice -10 -p 12457 ובעצם מה שקורה במקרה הזה, נעלה את העדיפות של התהליך הזה למקום כמעט הכי גבוהה שהוא "20-", נריץ שוב פעם את ps -l:
לצורך הדגמה, אני אוריד את רמת העדיפות ולא אשתמש ב renice -[nice_value] -p [process_name] :sudo, ובגלל שאני מוריד את רמת העדיפות (מתקרב לכיוון ה-"0") אני לא צריך להשתמש ב sudo.
במקרה שלי זה יראה כך: renice +10 -p 12457
לצורך הפעלת תוכנה עם תיעדוף מראש נשתמש בפקודה nice בצורה מאוד פשוטה nice -n 10 vim ואז התוכנה פשוט תרוץ עם תיעדוף,סינטקס של הפקודה: nice -n[nice_vlue] [process_name]
וכפי שאנחנו רואים, (התהליך עם הסימון הירוק) התהליך החדש התחיל לרוץ עם עדיפות שונה מאשר התהליך עם הסימון האדום שהרצנו לפני כן.
5.איך להריץ תהליך מסוים או תוכנה מסוימת ברקע?
בלינוקס יש הרבה פלוסים אחד מהם מאוד מגניב, אפשר לשים כל פקודה לבצע דברים ברקע, לא, לא בתור סקריפט, אלה להריץ לדוגמא את הפקודה פינג, כמה שעות "מאחורי הקלעים" בלי שזה ירוץ לנו מול העיניים ובלי שנצטרך לפתוח כמה וכמה חלונות של טרמינל - דבר שיעלה לכם את הפרודוקטיביות.
5.א.מה ההבדל בין פקודה שאנחנו רואים לבין לבין תוכנה מאחורי הקלעים?
לצורך הסבר נגיד ואנחנו פותחים חלון ומבצעים פקודת ls , או כל פקודה פקודה אחרת, אנחנו נקבל פלט, הפלט שאנחנו רואים והפקודה שהרצנו, היא פקודה שהיא "מקדימה" ולא מאחורי הקלעים, זאת אומרת היא לא רצה "ברקע" בתור "TASK" (משימה), היא אומנם מאוד קצרה, אבל היא מול העיניים, באנגלית זה נקרא "Foreground task" פעולות שרצות ברקע נקראות "Background task".
5.ב.איך להריץ פקודה ולשים אותה מאחורי הקלעים?
לצורך הדגמה ניקח את הפקודה פינג, שהיא רצה בהמשכיות, וניתן פינג בלי הפסקה לגוגל נגיד, בצורה הזאת ping 8.8.8.8
ניתן לפקודה להתחיל לרוץ ולאחר מכן, נלחץ על ctrl+z, מה שיקרה , אנחנו נשוב לחלון הטרמינל שלנו אבל הפקודה תהפוך להיות משימה ברקע, או בשפת לינוקס "job":
5.ג איך להעביר תהליך מה"רקע" לקדמת ה"במה" - הפקודה fg?
בשביל להגיע חזרה לפקודה הזאת, אני יכול לעשות כמה דברים, ראשית להקיש "fg" (קיצור של Foreground) אז התהליך שרץ מאחורי הקלעים יעבור להיות "מקדימה" ונוכל לראות אותה עובדת :ובעצם ברגע זה אני יכול להפסיק את הפקודה כאילו הרצתי אותה לפני רגע, בעזרת ctrl+c כמו תמיד, והפקודה תעצור:
במידה ואנחנו רוצים להפעיל תוכנה וישר לשים אותה ברקע, אנחנו נוסיף את הסימן "&" אחרי שם התוכנה לדוגמא אני אפעיל את העורך טקסט "vi" ישר מאחורי הקלעים הסינטקס & vi ונלחץ ENTER, מה שיקרה הוא שהתוכנה ישר תלך אל מאחורי הקלעים:
אם נקיש את הפקודה fg נכנס חזרה לתוכנה, בשביל "להרוג" את vi אפשר להקיש [kill -9 [process_id ואז נקבל תגובה שהתוכנה נסגרה:
נגיד ויש לי 15 ג'ובים ואני רוצה להרוג את כולם ביחד, נקיש `kill -9 `jobs -ps - הסימן ששמתי לפני ה - JOBS הוא סימן של "גרש" ,זה נמצא מעל לכפתור ה-TAB במקלדת:
לאחר מכן נריץ את פקודת ה"חיסול" לא נקבל שום אינדקציה על כך שקרה משהו לכן רק כשנבדוק (נריץ Jobs), נראה שכל הג'ובים הפכו להיות killed:
5.ה איך לבחור איזו משימה להביא לקדמת ה"במה"?
לצורך כך, אנחנו נקיש את הפקודה fg ואת המספרים של "מזהה המשימה" מה שנמצא בעבמודה בצד שמאל:
תסכימו איתי שזה הרבה יותר נוח מאשר לפתוח 4 חלונות של פינג לדוגמא?
6.איך לנהל פרוססים בצורה יותר נוחה בלינוקס?
כמו שראינו ניתן לנהל פרוססים עם פקודות אבל זה לא ממש נוח, כמו רוב הדברים בלינוקס, כפי שראינו גם כן, ניתן לנהל פרוססים עם כמה וכמה תוכנות, האחת שמגיע מובנת בתוך מערכת ההפעלה בשם top והשניה שלא מגיע מובנת בתוך מערכת ההפעלה שנקראת htop אותה גם נתקין ונעבור עליה, אני אעבור על שתיהן ועל הפונקציות העיקריות.
אני בטוח שבסוף המדריך תגידו לי "אז למה לא סיפרת לנו על זה ישר?!" זה כי צריך ללמוד עוד דברים חוץ מ"קל" 😇.
אני בטוח שבסוף המדריך תגידו לי "אז למה לא סיפרת לנו על זה ישר?!" זה כי צריך ללמוד עוד דברים חוץ מ"קל" 😇.
6.א נתחיל עם הפקודה המובנת top:, הדבר מאוד פשוט, מקישים את התוכנה ומקבלים מידע אודות המחשב, את העמודות פירשתי יותר מוקדם.
בשביל להריץ את הפקודה, פשוט נריץ top, וזהו, בכל שרת\תחנה נראה מידע כמעט זהה, הדבר שיהיה שונה זה אחוז ניצולת מעבד כמובן, כמות זכרון RAM ודברים ועוד דברים טכניים אשר שונים ממחשב למחשב.
פירוש מלא של החלק העליון של top:
- ליד השורה הראשונה top - נוכל לראות שעה נוכחית, כמה זמן המערכת דלוקה, כמה משתמשים מחוברים, וממוצע עומס על המעבד.
- בשורה השניה Tasks - נוכל לראות את כמות הפרוססים שיש לנו במערכת, כמה מהם רצים, כמה מהם עצרו וכמה מהם זומבי (מה זה זומבי מתואר למעלה)
- השורה שלישית CPU - אחוז ניצלת מעבד, העמודה us היא "תחום משתמש" User Space, דברים שרצים ב"תחום" המשתמש, אם התקנתם ליברה אופיס, אז הוא ירוץ ב"תחום משתמש", בעצם כל מה שלא מופעל בגדול על ידי מערכת ההפעלה, רץ ב"תחום משתמש", העמודה לידו sy היא "תחום מערכת" זאת אומרת "System Space" לידו, מה שלמדנו יותר מוקדם ni שזה niceness, העמודה הבאה id היא idle, כמה זמן המעבד היה ב idle, זאת אומרת כמה שהמספר יותר גבוהה, ככה זמן ה idle (הזמן שהמעבד לא עושה כלום) יותר ארוך, העמודה wa היא עמודה שאומרת "waiting" זאת אומרת כמה זמן משימה כלשהיא מחכה לקבלת קלט או פלט, ככל שהאחוז יותר גבוהה, ככה זה יותר גרוע, כי זה אומר שהשרת שלנו מחכה למשהו, וזה לא אמור להיות ככה, הוא לא אמור לחכות לשום דבר, העמודה hi , מדברת על כמה זמן המעבד מבזבז על איבוד מידע מחומרה, והעמודה si מציינת כמה זמן המעבד מבזבז זמן על איבוד של תוכנה, בימינו כמעט ולא תתרכזו בזה, החלק האחרון st מראה כמה זמן המעבד הוירטואלי מחכה למעבד הפיזי, גם בזה כמעט ולא תגעו בימינו לכן זה לא כל כך משנה.
- השורה הרביעית Mib Mem - כמה זכרון RAM יש לנו בכללי, כמה זכרון פנוי, כמה בשימוש, כמה זכרון יש ב"קאש".
- השורה החמישית Mib Swap - כמה זכרון וירטואלי יש לנו בכללי, כמה פנוי, כמה בשימוש, וכמה ניתן להשתמש.
פירוש מלא של העמודות בחלק התחתון:
PID - מספר תהליך Process ID.
USER - איזה משתמש מריץ את התהליך.
PR - תיעדוף PRIORITY של תהליך.
NI - כמה NICENESS יש לתהליך.
VIRT - כמה ניצולת של זכרון וירטואלי.
RES - אחוז ניצול RVM.
SHR - אחוז ניצולת זכרון שיתופי.
CPU - אחוז ניצול מעבד.
MEM - אחוז ניצול מעבד.
TIME - כמה זמן ניצל המעבד עבור איבוד התהליך.
בשביל שנוכל לראות את כל התהליכים שיש להם תהליך "ילד" נלחץ על shift+v ואז בעצם נקבל תצוגה שונה, שבה נראה את ה"משפחה" של כל תהליך ותהליך, נוכל לראות את "תהליך האב" ואת "תהליך הילד":
אם נגיד אנו רוצים לראות מה התהליך שמנצל הכי הרבה את המעבד נלחץ על shift+p ואז נקבל סידור לפי ניצולת מעבד:
במקום המיועד לו:
נגיד שאנחנו רוצים "לכבות" תהליך מסוים שמנצל יותר מדי זכרון או מעבד, נלחץ במקלדת על k ונתבקש להכניס את מזהה התהליך (Process ID) של תהליך שאנחנו רוצים להרוג, לאחר שהקשנו את מספר התהלי, המערכת תשאל אותנו איזה סיגנל אנחנו רוצים לשלוח לתהליך, כמו שלמדנו יותר מוקדם, סיגנל מספר 15 הוא זה שמבצע "כיבוי", לכן נקיש 15 או 9 (הסבר על שתיהם יש למעלה).
- חץ למעלה \ חץ למטה - ניווט
- q - לצאת
- shift-p - סידור עמודה לפי ניצול מירבי של מעבד
- shift-m - סידור עמודה לפי ניצור מירבי של זכרון
- shift-t - סידור עמודה לפי זמן ריצה של תהליך
- shift-n - סידור עמודה לפי מספר תהליך (Process ID)
- t - משנה את התצוגה של המעבד בחלק העליון
- m - משנה את התצוגה של הזכרון בחלק העליון
- shift-r - משנה את הסדר של תצוגת התהליכים הפוך מאשר ברירת מחדל
- с - לחיצה על האות C מראה נתיב מלא של תהליך.
- shift-v - מראה את ההיררכיה של תהליך "ילד" תהליך "הורה"
- k - להפסיק תהליך על ידי שליחת סיגנל ברירת מחדל "SIGTERM"
6.ב דרך נוספת ויותר נוחה לראות פרוססים - התוכנה\כלי htop.
אז כאן מתחיל כל ה"כיף", כפי שאמרתי לפני כן, בלינוקס כמו ברוב הדברים יש המון דרכים לבצע כל מיני דברים, יש את הכי מסובך שהיה בהתחלה, לאחר מכן אנשים החליטו שזה קשה ומסובך והתחילו ליצור כלים משלהם, ואחד הכלים הללו הוא הכלי לניהול תהליכים בשם htop, הכלי הזה לא מגיע מובנה בתוך הלינוקס, לכן נצטרך להוריד אותו ולהתקין (אל תדאוג, כמו בהרבה מקרים, הכל יהיה מתוך שורת פקודה וכמובן בחינם ובצורה חוקית ובתוך שניות).
6.ג איך להתקין htop בלינוקס?
אם תנסו להריץ את הפקודה המפעילה htop, לינוקס תגיד לכם "תשמע אין לי דבר כזה, אבל אתה יכול להתקין אותה עם הפקודות הבאות.."
כרגע אני לא אתן יותר מדי הסבר אודות הפקודה apt (בהמשך יגיע מדריך שלם על apt) ככה שכרגע לצורך התקנה נבצע את הפעולה הבאה: sudo apt install htop ונלחץ ENTER, לאחר מכן נצטרך להכניס את הסיסמא שלנו ונלחץ ENTER עוד פעם ובעצם בתוך שניות, המערכת הורידה והתקינה את התוכנה שאנחנו צריכים:
מאחר ואני מחובר למערכת דרך חלון של ווינדוס, אני בעצם יכול להשתמש בעכבר בשביל ללחוץ על עמודות ועד', לדוגמא אם אני רוצה לבצע סינון לפי ניצולת זכרון, אני פשוט יכול ללחוץ על העמודה של הזכרון עם העכבר.
ניתן לבצע את אותו הדבר על ידי לחיצה על shift-p, סינון לפי ניצולת זכרון נלחץ על shift-m.
במקרה הנ"ל אנחנו מחוברים ללינוקס מתוך מערכת הפעלה כלשהיא, ויש עכבר ומקלדת אבל מה יקרה במידה ותצטרכו לעבוד על שרת שאין לו עכבר? במקרה הזה חובה ללמוד קיצור מקשים, אני לא אעבור על כל הקיצורים, אז אעבור על אלו שהם הכי שימושיים לדעתי.
6.ה ניווט ב htop.
ניתן לנווט בעזרת מקשי החצים במקלדת בשביל להעלות למעלה או למטה.
6.ו חיפוש של פרוסס ב Htop.
מאחר ויש המון פרוססים ואנחנו רוצים פרוסס ספציפי, ניתן ללחוץ על f4 ופשוט להתחיל לכתוב את הפרוסס שאתם מחפשים,
הטקסט יופיע למטה:
כמו כן ניתן לסנן את הרשימה לפי משתמש, על ידי לחיצה על כפתור ה u ומצד שמאל תופיע רשימה כל המשתמשים (כולל משתמשים שהם משתמשי מערכת), דפדוף בהם יביא לפרוססים שמריץ אותו משתמש:
6.ז איך לסגור פרוסס ב Htop.
במידה ונרצה לסגור תוכנה (להרוג פרוסס), נלחץ פעמיים מהירות על F9 במקלדת, ומצד שמאל נקבל רשימה של הסיגנלים שאנחנו יכולים לשלוח לפרוסס (דיברנו עליהם היום כבר כמה פעמים), במקרה הזה אני בוחר vi ואלחץ על סיגנל 15, ולאחר מכן אלחץ
ENTER:
6.ח קבלת עזרה אודות htop
להבדיל מפקודות אחרות, במקרה של htop במידה ותרצו לקבל עזרה, הכנסו לתוך התוכנה, הקישו f1 ותוכלו לקבל עזרה אודות התוכנה:
כמו ב top, כאן התצוגה זהה מבחינת עמודות, פרט לחלק העליון שאני מאמין שהכל ברור, המספרים מצד שמאל אלו ליבות המעבד, אחוזי הניצול, מתחת לזה mem, זה הזכרון הפיזי, כאן ניתן לראות אותו ב GB מצד ימין, ומתחת לזה, זכרון וירטואלי, מה שנקרא בלינוקס swap, בחלק העליון מצד ימין, אלו תהליכים, ממוצע עומס על המעבד, וכמה זמן המחשב דלוק:
זה הכל להפעם, במדריך זה למדנו על ניהול פרוססים.
כמו תמיד לכל שאלה המייל שלי levl@leidertech.co.il
וכמובן סרטון מצולם:
אין תגובות:
הוסף רשומת תגובה
מגיב\ה יקר\ה תגובה היא דבר מקובל ביותר, ביקורת בונה גם כן, אם בכוונתך לפרסם, או לקלל, או סתם להגיב ולפוגע באחד ממבקרי הבלוג או כותב הבלוג, אתה מוזמן לחסוך ממני את ביזבוז הזמן במחיקת ההודעה שלך, ופשוט לא לכתוב אותה.
תודה :)