Ps (פקודה)

ps, קיצור של process status, היא פקודה במערכות הפעלה יוניקס ודמויות יוניקס, המציגה מידע על התהליכים במערכת. הפקודה הייתה כבר חלק מהגרסה השישית של יוניקס והיא כיום חלק מכמעט כל מערכת דמוית יוניקס ומתקן 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

הערות שוליים

קטגוריה:פקודות יוניקס