דילוג לתוכן המרכזי
מודול 5 · שיעור 1 מתוך 210/11 בקורס~12 min
שיעורי מודול (1/2)

ניהול תהליכים (ps and kill)

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


תהליכי ניטור: ps

הפקודה ps (סטטוס תהליך) מציגה תמונת מצב של תהליכים נוכחיים. כברירת מחדל, הוא מפרט רק תהליכים המשויכים למשתמש הנוכחי ולחלון המסוף הנוכחי.

לתצוגה מלאה של כל התהליכים הפועלים במערכת, נעשה שימוש נפוץ בשילוב אפשרויות BSD aux:

  • a: מציג תהליכים עבור כל המשתמשים.
  • u: מציג את בעל התהליך ואת השימוש במשאבי המעבד/זיכרון.
  • x: מפרט תהליכים שאינם משויכים לאף מסוף (כמו שירותי רקע).
Bash
ps aux

הפלט של ps aux הוא טבלה מובנית המציגה עמודות חשובות כמו USER, PID, %CPU, %MEM ו-COMMAND (הפקודה שהתחילה את התהליך).


תהליכי סיום: kill ו-killall

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

הפקודה kill

הפקודה kill שולחת אות לתהליך שצוין ב-PID שלו:

Bash
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:

Bash
killall python  # Terminates all processes named 'python'

נסה זאת בעצמך

תרגיל 1: רשום את כל התהליכים

פעילות גופנית#linux.m5.l1.e1
ניסיונות: 0טוען...

הצג רשימה מלאה של כל התהליכים הפועלים במערכת באמצעות אפשרויות 'aux'.

טוען עורך...
הצג רמז

השתמש בפקודה 'ps' ואחריה באפשרות 'aux'.

הפתרון זמין לאחר 3 ניסיונות

תרגיל 2: סיום תהליך על ידי PID

פעילות גופנית#linux.m5.l1.e2
ניסיונות: 0טוען...

סיים את תהליך הפיתון עם PID 2048 באמצעות הפקודה 'להרוג'.

טוען עורך...
הצג רמז

השתמש ב'הרוג' ואחריו ב-PID של התהליך (2048).

הפתרון זמין לאחר 3 ניסיונות

תרגיל 3: סיום כל התהליכים לפי שם

פעילות גופנית#linux.m5.l1.e3
ניסיונות: 0טוען...

סיים את כל התהליכים הרצים הקשורים לתוכנית 'python' באמצעות הפקודה 'killall'.

טוען עורך...
הצג רמז

השתמש ב-'killall' ואחריו בשם התוכנית, במקרה זה 'python'.

הפתרון זמין לאחר 3 ניסיונות