בקרת ג'ובים בלינוקס

בקרת ג'ובים פירושה היכולת לעצור (stop), להקפיא (suspend) תהליכים ולאחר מכן לחדש את הריצה שלהם (start, resume).

טבלת ג'ובים:
ה- shell של לינוקס (bash\sh\ksh\csh\tcsh) מחזיק טבלה של ג'ובים. נריץ את הפקודה הבאה:

המספר 1 (מוקף בסוגריים מרובעים) זה מס' ה- Job (נקרא JID) ו- 17029 זה מספר התהליך (PID או Process ID).

הצגת טבלת הג'ובים:

תחזיר לנו רשימה של ג'ובים שרשומים במערכת.

איך עוצרים תהליך (זמנית)?
שתי אפשרויות:

  • הקשה במקלדת על צירוף המקשים Ctl+Z
  • הקשת הפקודה: kill -s stop PID

איך מחדשים את עבודת התהליך?
גם כאן שתי אפשרויות:

  • הקשת הפקודה: fg %JID תחזיר את ריצת התהליך "קדימה" (forground), כלומר התהליך יחדש את ריצתו ב- shell (הפקודה הקודמת, למשל, לא תחזיר prompt כי הפקודה רצה "קדימה" וה- shell ממתין לסיום הריצה שלה)
  • הקשת הפקודה: bg %JID תחדש את ריצת התהליך אך הוא ירוץ ברקע (background)

איך "הורגים" תהליך (לא ניתן יהיה בעתיד לחדש את עבודתו מאותה הנקודה שבה "הרגנו" אותו)?

הערה: אם נריץ תהליך ולאחר מכן נצא מה- shell הוא יפסיק את פעולתו (יהרג). הסיבה לכך היא שה- shell הנוכחי הוא האבא של תהליך הבן, ואם האבא יפסיק את עבודתו אז גם כל הבנים יפסיקו את עבודתם

כדי למנוע מצב זה יש שלוש אפשרויות 🙂

  • להריץ את הפקודה תחת screen ומקביליו (כתבתי על זה כאן)
  • להריץ את הפקודה disown
  • שימוש בפקודה nohup
My Signature
פורסם בקטגוריה לינוקס ותוכנה חופשית. אפשר להגיע לכאן עם קישור ישיר.

2 תגובות בנושא בקרת ג'ובים בלינוקס

  1. פינגבאק: בקרת ג'ובים בלינוקס | Links to articles about foss, high tech and social affairs

  2. מאת חתול‏:

    תודה, למדתי כמה דברים חדשים.

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *