Ps (פקודה)

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

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

==דוגמאות==
* לאחר הקלדת הפקודה <code>ps</code> ללא תוספת ארגומנטים כלל, יוצג מידע בסיסי על התהליכים במסוף הנוכחי.
<syntaxhighlight lang="console">
# 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
</syntaxhighlight>
* הצגת כל התהליכים שפועלים כמשתמש-על (root), בתצוגה שעוצבה על ידי המשתמש.
<syntaxhighlight lang="console">
# 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 --
</syntaxhighlight>
* צירוף הפקודה <code>grep</code> (ראו גם <tt>pgrep</tt> ו-<tt>pkill</tt>) מאפשרת להציג מידע על תהליך יחיד, למשל את מזהה התהליך.
<syntaxhighlight lang="console">
$ # Trying to find the PID of `firefox-bin` which is 2701
$ ps -A | grep firefox-bin
2701 ? 22:16:04 firefox-bin
</syntaxhighlight>
* השימוש ב <code>pgrep</code> מפשט את הדוגמה הקודמת, ומונע אפשרות של מרוץ תהליכים.
<syntaxhighlight lang="console">
$ pgrep -l firefox-bin
2701 firefox-bin
</syntaxhighlight>

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

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

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

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

==קישורים חיצוניים==
* [http://pubs.opengroup.org/onlinepubs/009695399/utilities/ps.html ps] באתר ארגון The Open Group

==הערות שוליים==

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