Ps (פקודה)

ps, קיצור של process status, היא פקודה במערכות הפעלה יוניקס ודמויות יוניקס, המציגה מידע על התהליכים במערכת. הפקודה הייתה כבר חלק מהגרסה הששית של יוניקס[1] והיא כיום חלק מכמעט כל מערכת דמוית יוניקס ומתקן POSIX. (במערכות GNU/Linux היא חלק מהחבילה procps).

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

דוגמאות

  • לאחר הקלדת הפקודה ps ללא תוספת ארגומנטים כלל, יוצג מידע בסיסי על התהליכים במסוף הנוכחי.
# ps
  PID TTY          TIME CMD
 7431 pts/0    00:00:00 su
 7434 pts/0    00:00:00 bash
18585 pts/0    00:00:00 ps
  • הצגת כל התהליכים שפועלים כמשתמש-על (root), בתצוגה שעוצבה על ידי המשתמש.
# ps -U root -u
USER   PID  %CPU %MEM    VSZ   RSS TT  STAT STARTED        TIME COMMAND
root     1   0.0  0.0   9436   128  -  ILs  Sun00AM     0:00.12 /sbin/init --
  • צרוף הפקודה grep (ראו גם pgrep ו-pkill) מאפשרת להציג מידע על תהליך יחיד, למשל את מזהה התהליך.
$ # Trying to find the PID of `firefox-bin` which is 2701
$ ps -A | grep firefox-bin
2701 ?        22:16:04 firefox-bin
  • השימוש ב pgrep מפשט את הדוגמה הקודמת, ומונע אפשרות של מרוץ תהליכים.
$ pgrep -l firefox-bin
2701 firefox-bin

פרוט הפלט

כותרת העמודההמידע המוצג
%CPUאיזה חלק של המעבד מנוצל על ידי התהליך
%MEMבכמה זיכרון התהליך משתמש
ADDRכתובות הזיכרון של התהליך
C או CPהשימוש במעבד ומידע על התזמון
COMMANDשם התהליך, כולל הארגומנטים ל פקודה, אם היו. לעיתים קרובות ברישום קטוע
NIערך ה-nice
Fהדגלים
PIDהמספר המזהה של התהליך
PPIDהמספר המזהה של תהליך האב
PRIהעדיפות של התהליך
RSSהשימוש האמיתי בזיכרון
S או STATמצב התהליך
START או STIMEהזמן בו התהליך החל לפעול
SZהשימוש בזיכרון וירטואלי
TIMEמשך הזמן בו התהליך השתמש במעבד
TT או TTYהמסוף שקשור לתהליך
UID או USERמזהה המשתמש של בעל התהליך
WCHANמזהה, למשל כתובת זיכרון, לאירוע שהתהליך ממתין לו, אם קים כזה

פרוט הדגלים

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

הדגלים של ps רבים. במערכות הפעלה המממשות את התקנים של SUS ו-POSIX, ps פועלת לרוב עם הדגלים ef-, כאשר "e-" בוחר להציג את כל (every) התהליכים, ו-"f-" בוחר שיוצג כל המידע האפשרי (full). דגל נפוץ נוסף במערכות כאלו הוא l-, שמצין פורמט תצוגה ארוך (long).

מסיבות היסטוריות, רוב המערכות שנגזרות מ BSD לא תומכות בדגלים שנקבעו ב-SUS וב-POSIX בגלל התנגשויות. למשל, הדגל "e" או "e-" יציג משתני סביבה. במערכות כאלו, לרוב ps רצה עם הדגלים הלא תקניים aux, כאשר "a" מציגה את כל (all) התהליכים במסוף, כולל אלו של משתמשים אחרים. "x" מציג את כל התהליכים ללא מסוף שליטה ו-"u" (user) מוסיף עמודה של המשתמש השולט בתהליך. להתאמה מרבית, אין שימוש בתו "-" לפני הצרוף "aux". "ps auxww" מספקת מידע מלא כל כל תהליך, כולל כל הפרמטרים בשורת הפקודה.

קישורים חיצוניים

  • ps באתר ארגון The Open Group

הערות שוליים

  1. דף ה־man עבור הפקודה ps - מתוך גרסת HTML של דפי ה־man (התיעוד) של המהדורה השישית של יוניקס, 1975


הערך באדיבות ויקיפדיה העברית, קרדיט,
רישיון cc-by-sa 3.0
This article is issued from Hamichlol. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.