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

פרוט הפלט

פרוט הדגלים 
ללא כל דגל מופיע פלט ה-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

הערות שוליים

פקודות יוניקס