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

מבוא

רוב הגרסאות של ps מקבלות אפשרויות בסגנון BSD (אשר ניתן לקבץ ולא ניתן להשתמש בהן עם מקף), אפשרויות סגנון UNIX (אשר ניתן לקבץ ויש להשתמש בהן עם מקף), ואפשרויות GNU ארוכות (שקודמות להן שתי אפשרויות מקפים). במאמר זה, נוכל לערבב ולהשתמש סוגי אפשרויות מרובות, עם הטיה עבור סגנונות UNIX. לדוגמה:

 ps -u root u-sort = pid 
  • UNIX STYLE -u root מציין משתמש = root
  • BSD STYLE u מציין תצוגה של פורמט מונחה משתמש. זוהי אפשרות מועדפת מאז פורמט פלט המיוצר באמצעות זה מכיל מידע שימושי מאוד.
  • GNU LONG OPTION- –sort מציין את סדר מיון התהליך. במקרה זה, למיין לפי מזהה התהליך (pid)

מאמר זה מעדיף אפשרויות UNIX, ומשתמש BSD רק לקיצור. לדוגמה, הפקודה

 PS 

מציג את התהליכים של המשתמש הנוכחי המצורפים למסוף, עם פורמט פלט "מונחה משתמש". כדי לקבל את אותו פורמט פלט באמצעות אפשרויות UNIX דורש את האפשרות

 PS-o ", pid, pcpu, pmem, vsz, rss, tty, stat, bsdstart, bsdtime, args" 

טיעוני הטיעון של אופציה זו הם:

  • משתמש - משתמש יעיל או שם משתמש של התהליך
  • pid - מזהה התהליך
  • pcpu - זמן המעבד המשמש את התהליך מחולק בזמן שהתהליך פועל
  • pmem - אחוז הזיכרון הפיזי המשמש את התהליך
  • vsz - גודל הזיכרון הווירטואלי של התהליך
  • rss - הזיכרון הפיזי שלא הוחלף התהליך שבו נעשה שימוש
  • tty - מסוף השליטה של ​​התהליך
  • stat - מצב התהליך, נקבע באמצעות קוד המדינה תהליך (לקרוא את דפי האיש למידע נוסף)
  • start_time - הזמן שבו הפקודה התחילה
  • זמן - זמן המעבד המצטבר המשמש את התהליך
  • טוען - הפקודה המשמש להפעלת התהליך, יחד עם הטיעונים שלו. (זוהי אחת הסיבות לכך שמעולם לא מומלץ להפעיל פקודה ולהזין את הסיסמה שלך כארגומנט של שורת פקודה.כל משתמש אחר במערכת יכול להפעיל את ps ולראות את הפקודות שבהן אתה משתמש, יחד עם כל האפשרויות והארגומנטים שחלפו ).

האמנה שתשתמש בה מעתה ואילך תהיה הפקודה (ps) ולאחריו האפשרות BSD 'u' לפרט את עיצוב הפלט, ולאחר מכן את אפשרויות UNIX ו- GNU כנדרש.

כמה 'PS' אפשרויות

ריצה 'ps' ללא ארגומנטים מציגה רשימה של תהליכים עם אותו מזהה משתמש כמו invoker ומשויכים לאותו מסוף כמו invoker.

כדי להציג את כל התהליכים הפועלים:

 PS u -e 

כדי להציג את כל התהליכים על-ידי המשתמש הנוכחי:

 ps u -u `whoami` 

כדי להציג את כל התהליכים על-ידי המשתמש הנוכחי, אך ממוינים לפי צריכת המעבד (יורד).

הערה: בפקודה למטה, אנו משתמשים '-pcpu' כדי להשיג שימוש באחוזים המעבד יורד. עבור עולה, השתמש '+ pcpu' או פשוט 'pcpu'. עיין בדפי הגבר לקבלת מפרט מיון נוסף. חלק מהשיטות הנפוצות הן pmem (שימוש בזיכרון), start_time (זמן הפקודה הופעל), ואת הזמן (כמות זמן המעבד בשימוש על ידי הפקודה).

 ps u -u `whoami` - sort = -pcpu 

כדי להציג את כל התהליכים על-ידי המשתמש הנוכחי, בתבנית עץ:

 ps u -jH -u `whoami` 

באמצעות צינורות, PS ניתן לשלב עם הראש כדי להראות את התהליכים המובילים. הפקודה הבאה ממיינת לפי שימוש בזיכרון תחילה, ולאחר מכן מציידת את הראש כדי להציג את התהליכים באמצעות הזיכרון הרב ביותר. הראש מציג את עשר השורות הראשונות כברירת מחדל, ולכן פקודה זו תציג את תשעת התהליכים הראשונים (כותרת הפלט היא השורה הראשונה).

הערה: "% mem" ו- "pmem" הם מילים נרדפות, כמו גם "% cpu" ו- "pcpu".

 ps u -u `whoami` - sort = -% mem רֹאשׁ 

כדי להציג את אותו הדבר עבור כל התהליכים, ללא קשר למשתמש, השתמש באפשרות -e :

 ps u -e --sort = -% mem רֹאשׁ 

סיכום

יש ממש מאות אפשרויות (אם כי כמה הם כינויים), ואנחנו נשמח לשמוע על, ולראות, שיטות השימוש המועדף עליך. אנא שתף ​​את ההערות שלהלן.