שיעורי מודול (1/2)
ניהול תהליכים (ps and kill)
בלינוקס, כל תוכנית פועלת נקראת תהליך. לכל תהליך מוקצה מזהה מספרי ייחודי הנקרא PID (מזהה תהליך). ההבנה כיצד לנטר ולנהל תהליכים אלו חיונית לשמירה על יציבות וביצועים של המערכת.
תהליכי ניטור: ps
הפקודה ps (סטטוס תהליך) מציגה תמונת מצב של תהליכים נוכחיים. כברירת מחדל, הוא מפרט רק תהליכים המשויכים למשתמש הנוכחי ולחלון המסוף הנוכחי.
לתצוגה מלאה של כל התהליכים הפועלים במערכת, נעשה שימוש נפוץ בשילוב אפשרויות BSD aux:
a: מציג תהליכים עבור כל המשתמשים.u: מציג את בעל התהליך ואת השימוש במשאבי המעבד/זיכרון.x: מפרט תהליכים שאינם משויכים לאף מסוף (כמו שירותי רקע).
ps auxהפלט של ps aux הוא טבלה מובנית המציגה עמודות חשובות כמו USER, PID, %CPU, %MEM ו-COMMAND (הפקודה שהתחילה את התהליך).
תהליכי סיום: kill ו-killall
אם תהליך מפסיק להגיב או צורך משאבים רבים מדי, נוכל לסיים אותו על ידי שליחת אות.
הפקודה kill
הפקודה kill שולחת אות לתהליך שצוין ב-PID שלו:
kill 2048 # Sends the SIGTERM (15) signal, requesting a clean shutdown
kill -9 2048 # Sends the SIGKILL (9) signal, forcing immediate termination[!אזהרה] השתמש רק ב-
kill -9כמוצא אחרון, מכיוון שהוא לא מאפשר לתוכנית לשמור נתונים או לסגור קבצים פתוחים בצורה נקייה.
הפקודה killall
אם אינך יודע את ה-PID או רוצה לסיים את כל התהליכים של תוכנית בשם, אתה יכול להשתמש ב-killall:
killall python # Terminates all processes named 'python'נסה זאת בעצמך
תרגיל 1: רשום את כל התהליכים
הצג רשימה מלאה של כל התהליכים הפועלים במערכת באמצעות אפשרויות 'aux'.
הצג רמז
השתמש בפקודה 'ps' ואחריה באפשרות 'aux'.
הפתרון זמין לאחר 3 ניסיונות
תרגיל 2: סיום תהליך על ידי PID
סיים את תהליך הפיתון עם PID 2048 באמצעות הפקודה 'להרוג'.
הצג רמז
השתמש ב'הרוג' ואחריו ב-PID של התהליך (2048).
הפתרון זמין לאחר 3 ניסיונות
תרגיל 3: סיום כל התהליכים לפי שם
סיים את כל התהליכים הרצים הקשורים לתוכנית 'python' באמצעות הפקודה 'killall'.
הצג רמז
השתמש ב-'killall' ואחריו בשם התוכנית, במקרה זה 'python'.
הפתרון זמין לאחר 3 ניסיונות