לדלג לתוכן

פתרון ביטול קבוצת עבודה

את המזהים אפשר לקרוא דרך libc::getpid, getppid, getpgrp ו־getsid(0) בתוכנית העזר. קריאות אלה מתארות את זהות התהליך הנוכחי בזמן המדידה, ואינן מבטיחות שהיא תישאר חלק מאותה קבוצה אם הקוד ישנה אותה בהמשך.

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

פרוטוקול הביטול מתחיל בסימון המשימה כנסגרת כדי לא ליצור עוד ילדים. לאחר שליחת SIGTERM נשמר deadline מונוטוני, והמפקח ממשיך לאסוף תוצאות. רק כאשר המדיניות דורשת זאת והזמן חלף נשלחת הסלמה, וגם אחריה ממשיכים לאסוף. סיום התהליך והשלמת איסוף התוצאה הם תנאי הסיום, ולא תוצאת kill לבדה.