4.1.4. הצגת מידע על תהליך
אל האני ps command הוא אחד הכלים להמחשת תהליכים. לפקודה זו מספר אפשרויות שניתן לשלב כדי להציג תכונות תהליך שונות.
ללא אופציות שצוינו, ps נותן רק מידע על המעטפת הנוכחית ותהליכים בסופו של דבר:
תיאו:~> ps
PID TTY
4245 נקודות/7
5314 נקודות/7
TIME CMD
00:00:00 בש
00:00:00 ps
תיאו:~> ps
PID TTY
4245 נקודות/7
5314 נקודות/7
מכיוון שזה לא נותן מספיק מידע - בדרך כלל, לפחות מאה תהליכים פועלים במערכת שלך - אנו בדרך כלל נבחר תהליכים מסוימים מתוך רשימה של כל התהליכים, באמצעות grep פקודה ב מקטרת, ראה סעיף 5.1.2.1, כמו בשורה זו, אשר יבחר ויציג את כל התהליכים שבבעלות משתמש מסוים:
ps -ef | אחיזה שם משתמש
דוגמה זו מציגה את כל התהליכים עם שם תהליך של לחבוט, מעטפת הכניסה הנפוצה ביותר במערכות לינוקס:
תיאו:> ps auxw | grep bash
ברנדה | 31970 | 0.0 | 0.3 | 6080 | 1556 | tty2 | S | פברואר 23 | 0:00 | -לַחֲבוֹט |
שורש | 32043 | 0.0 | 0.3 | 6112 | 1600 | tty4 | S | פברואר 23 | 0:00 | -לַחֲבוֹט |
תיאו | 32581 | 0.0 | 0.3 | 6384 | 1864 | נקודות/1 | S | פברואר 23 | 0:00 | לחבוט |
תיאו | 32616 | 0.0 | 0.3 | 6396 | 1896 | נקודות/2 | S | פברואר 23 | 0:00 | לחבוט |
תיאו | 32629 | 0.0 | 0.3 | 6380 | 1856 | נקודות/3 | S | פברואר 23 | 0:00 | לחבוט |
תיאו | 2214 | 0.0 | 0.3 | 6412 | 1944 | נקודות/5 | S | 16:18 | 0:02 | לחבוט |
תיאו | 4245 | 0.0 | 0.3 | 6392 | 1888 | נקודות/7 | S | 17:26 | 0:00 | לחבוט |
תיאו | 5427 | 0.0 | 0.1 | 3720 | 548 | נקודות/7 | S | 19:22 | 0:00 | grep bash |
במקרים אלה, grep שורות חיפוש פקודה המכילות את המחרוזת לחבוט מוצג לעתים קרובות גם במערכות שיש להן הרבה זמן לא פעיל. אם אתה לא רוצה שזה יקרה, השתמש ב- אחיזה פקודה.
קונכיות Bash הן מקרה מיוחד: רשימת התהליך הזו מציגה גם אילו מהן הן קונכיות כניסה (שם אתה צריך לתת את שם המשתמש והסיסמה שלך, כמו למשל כשאתה נכנס ל-textmode או מבצע כניסה מרחוק, בניגוד ל-Bash shells.
קליפות שאינן מחוברות לכניסה, שהופעלו למשל על ידי לחיצה על סמל חלון מסוף). לפני קליפות התחברות כאלה יש מקף (-).
|?
נסביר על | מפעיל בפרק הבא, ראה פרק 5.
מידע נוסף ניתן למצוא בדרך הרגילה: ps - עזרה or איש ps. גנו ps תומך בסגנונות שונים של פורמטים של אפשרויות; הדוגמאות לעיל אינן מכילות שגיאות.
שים לב כי ps נותן רק מצב רגעי של התהליכים הפעילים, זוהי הקלטה חד פעמית. ה חלק עליון התוכנית מציגה תצוגה מדויקת יותר על ידי עדכון התוצאות שניתנו על ידי ps (עם שלל אפשרויות) אחת לחמש שניות, יוצר רשימה חדשה של התהליכים הגורמים לעומס הכבד ביותר מעת לעת, ובינתיים משלב מידע נוסף על שטח ההחלפה בשימוש ומצב המעבד, מה proc מערכת קבצים:
12:40 אחר הצהריים למעלה 9 ימים, 6:00, 4 משתמשים, ממוצע עומס: 0.21, 0.11, 0.03
89 תהליכים: 86 ישנים, 3 פועלים, 0 זומבי, 0 מצבי מעבד עצורים: 2.5% משתמש, 1.7% מערכת, 0.0% נחמד, 95.6% סרק
12:40 אחר הצהריים למעלה 9 ימים, 6:00, 4 משתמשים, ממוצע עומס: 0.21, 0.11, 0.03
89 תהליכים: 86 ישנים, 3 פועלים, 0 זומבי, 0 מצבי מעבד עצורים: 2.5% משתמש, 1.7% מערכת, 0.0% נחמד, 95.6% סרק
זכרון: 255120K av, 239412K בשימוש, 15708K בחינם, 756K shrd, 22620K buff החלפה: 1050176K av, 76428K בשימוש, 973748K בחינם, 82756K שמור במטמון
מח"ש | משתמש | PRI | NI | גודל | RSS | לַחֲלוֹק | STAT | %מעבד | %מ | זמן | פקודה |
5005 | שורש | 14 | 0 | 91572 | 15 מ"ר | 11580 | R | 1.9 | 6.0 | 7:53 | X |
19599 | ג'ף | 14 | 0 | 1024 | 1024 | 796 | R | 1.1 | 0.4 | 0:01 | חלק עליון |
19100 | ג'ף | 9 | 0 | 5288 | 4948 | 3888 | R | 0.5 | 1.9 | 0:24 | מסוף הגמדים |
19328 | ג'ף | 9 | 0 | 37884 | 36 מ"ר | 14724 | S | 0.5 | 14.8 | 1:30 | מוזילה-פח |
1 | שורש | 8 | 0 | 516 | 472 | 464 | S | 0.0 | 0.1 | 0:06 | init |
2 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:02 | keventd |
3 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | קפם סרק |
4 | שורש | 19 | 19 | 0 | 0 | 0 | SWN | 0.0 | 0.0 | 0:00 | ksoftirqd_CPU0 |
5 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:33 | kswapd |
6 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | kreclaimd |
7 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | bdflush |
8 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:05 | מעודכן |
9 root -1-20 0 0 0 SW< 0.0 0.0 0:00 mdrecoveryd | |||||||||||
13 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:01 | kjournald |
89 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | ח'בד |
219 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | kjournald |
220 | שורש | 9 | 0 | 0 | 0 | 0 | SW | 0.0 | 0.0 | 0:00 | kjournald |
השורה הראשונה של חלק עליון מכיל את אותו מידע שמוצג על ידי זמן פעולה תקין פקודה:
jeff:~> זמן פעולה תקין
3:30, למעלה מ-12 ימים, 23:29, 6 משתמשים, ממוצע עומס: 0.01, 0.02, 0.00
jeff:~> זמן פעולה תקין
3:30, למעלה מ-12 ימים, 23:29, 6 משתמשים, ממוצע עומס: 0.01, 0.02, 0.00
הנתונים עבור תוכניות אלה מאוחסנים בין היתר ב / var / run / utmp (מידע על משתמשים המחוברים כרגע) ובמערכת הקבצים הווירטואלית / proc, למשל /proc/loadavg (מידע על עומס ממוצע). יש כל מיני יישומים גרפיים לצפייה בנתונים האלה, כמו Gnome System Monitor ו לאפים. ב-FreshMeat ו-SourceForge תמצאו עשרות יישומים המרכזים את המידע הזה יחד עם נתוני שרת ולומנים אחרים ממספר שרתים בשרת אחד (אינטרנט), המאפשרים ניטור של כל תשתית ה-IT מתחנת עבודה אחת.
ניתן להמחיש את היחסים בין תהליכים באמצעות ה ptree פקודה:
סופי:~> ptree
init-+-amd
|-apmd
|-2*[artsd]
|-atd
|-קונד
|-deskguide_apple
|-eth0
|-gdm---gdm-+-X
סופי:~> ptree
init-+-amd
|-apmd
|-2*[artsd]
|-atd
|-קונד
|-deskguide_apple
|-eth0
|-gdm---gdm-+-X
|
|
|
`-gnome-session-+-Gnome
|-ssh-agent
`-נכון
|
|
|
|-geyes_applet
|-gkb_applet
|-גמד-שם-שרת
|-גמד-סמפרוקסי
|-gnome-terminal-+-bash---vim
|-geyes_applet
|-gkb_applet
|-גמד-שם-שרת
|-גמד-סמפרוקסי
|-gnome-terminal-+-bash---vim
|
|
|
|
|
|-gpm
|-gweather
|-kapm-בטלה
|-באש
|-bash---pstree
|-בש---שש
|-bash---mozilla-bin---mozilla-bin---3*[mozilla-bin]
`-gnome-pty-helper
|
|
|
|
|
|-gpm
|-gweather
|-kapm-בטלה
|-3*[kdeinit]
|-keventd
|-כובד
|-5*[kjournald]
|-קלוגד
|-lockd---rpciod
|-lpd
|-mdrecoveryd
|-6*[mingetty]
|-8*[nfsd]
|-nscd---nscd---5*[nscd]
|-ntpd
|-3*[oafd]
|-פאנל
|-portmap
|-rhnsd
|-rpc.mountd
|-rpc.rquotad
|-rpc.statd
|-מסור
|-screenshooter_a
|-sendmail
|-ששד---ששד---באש---סו---באש
|-syslogd
|-tasklist_applet
|-vmnet-bridge
|-xfs
`-xinetd-ipv6
|-3*[kdeinit]
|-keventd
|-כובד
|-5*[kjournald]
|-קלוגד
|-lockd---rpciod
|-lpd
|-mdrecoveryd
|-6*[mingetty]
|-8*[nfsd]
|-nscd---nscd---5*[nscd]
|-ntpd
|-3*[oafd]
|-פאנל
|-portmap
|-rhnsd
|-rpc.mountd
|-rpc.rquotad
|-rpc.statd
|-מסור
|-screenshooter_a
|-sendmail
|-ששד---ששד---באש---סו---באש
|-syslogd
|-tasklist_applet
|-vmnet-bridge
|-xfs
`-xinetd-ipv6