בקרת ג'ובים פירושה היכולת לעצור (stop), להקפיא (suspend) ולחדש ריצה של תהליכים.
טבלת ג'ובים:
ה- shell של לינוקס מחזיק טבלה של ג'ובים שרצים במערכת. כדי ליצור ג'וב חדש נריץ את הפקודה הבאה:
הסבר: המספר 1 (מוקף בסוגריים מרובעים) זה מס' ה- Job (נקרא JID או Job ID) ו- 17029 זה מספר התהליך (PID או Process ID).
הצגת טבלת הג'ובים שרשומה במערכת:
איך עוצרים תהליך (זמנית)?
שתי אפשרויות:
- הקשה במקלדת על צירוף המקשים Ctl+Z
- הקשת הפקודה: kill -s stop PID
איך מחדשים עבודת תהליך?
גם כאן שתי אפשרויות:
- הקשת הפקודה: fg %JID תחזיר את ריצת התהליך "קדימה" (forground), כלומר התהליך יחדש את ריצתו (הפקודה לא תחזיר prompt כי הפקודה רצה "קדימה" וה- shell g עדיין ממתין לסיום הריצה שלה)
- הקשת הפקודה: bg %JID תחדש את ריצת התהליך אך הוא ירוץ ברקע (background)
איך "הורגים" תהליך (לא ניתן בעתיד לחדש את עבודתו)?
הערה: אם נריץ תהליך ולאחר מכן נצא מה – shell הוא יפסיק את עבודתו (יהרג). הסיבה לכך היא שה- shell הנוכחי הוא האבא של תהליך הבן ותהליך לא יכול לרוץ ללא אבא
כדי למנוע מצב זה יש שלוש אפשרויות:
- להריץ את הפקודה תחת tmux\screen ומקביליו
- להריץ את הפקודה disown
- להשתמש בפקודה nohup
הפקודה disown:
הפקודה nohup (התכנית הבאה לא תיעצר גם כשנצא מה- shell):