אנדרואיד

פקודת Pstree בלינוקס

Linux Process Management Part 2 (pstree)

Linux Process Management Part 2 (pstree)

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

Anonim

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

כיצד להשתמש pstree

התחביר הכללי pstree הוא כדלקמן:

ps

בצורה הפשוטה ביותר כאשר היא מופעלת ללא כל אפשרות או טיעון, pstree מציג מבנה עץ היררכי של כל תהליכי הריצה:

pstree

systemd─┬─VBoxService───7* ├─accounts-daemon───2* ├─2* ├─atd ├─cron ├─dbus-daemon ├─irqbalance───{irqbalance} ├─2* ├─lvmetad ├─lxcfs───2* ├─networkd-dispat───{networkd-dispat} ├─nginx───2*…

הפריט העליון / שורש בעץ הוא תהליך האב של כל תהליכי המערכת. בדוגמה זו מערכת, שהיא התהליך הראשון שמתחיל באתחול.

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

להלן דוגמה המציגה את השימוש בסוגריים המרובעים:

├─2*

זהה ל:

├─agetty ├─agetty

כדי להשבית את מיזוג הסניפים הזהים, השתמש באפשרות -c :

pstree -c

האשכולות של תהליך מוצגים בתהליך האב ומוצגים באמצעות שם התהליך בתוך סד מתולתל. הנה דוגמה:

├─lxcfs───2*

השתמש באפשרות -t כדי להציג את שמות הנושאים המלאים. אם ברצונך להסתיר אשכולות ולהראות רק תהליכים השתמש באפשרות -T .

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

pstree | less

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

pstree linuxize

כאשר PID מצוין כארגומנט, pstree מציג עץ עם התהליך הנתון כשורש העץ. הנה דוגמה:

pstree 1943

sshd───bash───pstree

כדי להציג את התהליכים האביים של התהליך הנתון השתמש באפשרות -s ולאחריו התהליך PID:

pstree -s 1943

systemd───sshd───sshd───bash───pstree

הצג PIDs ו- PGIDs

לרוב, בעת הפעלת פקודת ה- pstree , המידע החשוב ביותר אותו מחפש המשתמש הוא מזהה התהליך. לדוגמה, הכרת ה- PID מאפשרת לך להרוג תהליך לא תקין.

האפשרות -p מורה ל- pstree להציג את ה- PIDs:

pstree -p

PID מוצגים בסוגריים לאחר כל תהליך או חוט.

systemd(1)─┬─VBoxService(955)─┬─{VBoxService}(956) │ ├─{VBoxService}(957) │ ├─{VBoxService}(958) │ ├─{VBoxService}(959) │ ├─{VBoxService}(960) │ ├─{VBoxService}(961) │ └─{VBoxService}(962)…

כברירת מחדל, pstree , מיין תהליכים עם אותו הורה לפי שם. האפשרות -n אומרת ל- pstree להשתמש במיון מספרי, כלומר מיין לפי PID:

pstree -pn

מזהי קבוצת התהליכים או PGID זהות התהליך של החבר הראשון בקבוצת התהליכים. לצפייה ב- PGID השתמש באפשרות -g :

pstree -g

PID מוצגים גם בסוגריים לאחר כל תהליך או חוט.

systemd(1)─┬─VBoxService(954)─┬─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ ├─{VBoxService}(954) │ └─{VBoxService}(954)…

כאשר מוצגים PIDs או PGIDs, מיזוג מושבת באופן מרומז.

הצג טיעוני שורת פיקוד

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

כברירת מחדל, ה- pstree לא מראה לך את טיעוני שורת הפקודה עבור תהליכי הריצה. כדי לראות כיצד התהליך התחיל, השתמש בפקודה יחד עם האפשרות -a :

pstree -a

… ├─agetty -o -p -- \\u --keep-baud 115200, 38400, 9600 ttyS0 vt220 ├─agetty -o -p -- \\u --noclear tty1 linux…

הדגשה

pstree גם מאפשר לך להדגיש תהליכים לייצוג חזותי טוב יותר.

האפשרות -h מורה ל- pstree להדגיש את התהליך הנוכחי ואת כל אבותיו.

pstree -h

כדי להדגיש תהליך ספציפי, השתמש באפשרות -H ולאחריה מזהה התהליך:

pstree -H PID_NUMBER

אם ההדגשה אינה נתמכת, הפקודה תצא בשגיאה.

סיכום

הפקודה pstree מציגה את תהליכי הריצה בצורה של מבנה עץ.

לקבלת מידע על כל אפשרויות ה- pstree הזמינות, הקלד man pstree בטרמינל שלך.

מסוף ps