سروس مئنيجر GNU Shepherd 0.9.2 (اڳوڻي dmd) شايع ڪيو ويو آهي، جيڪو GNU گيڪس سسٽم جي ڊولپرز طرفان ترقي ڪري رهيو آهي هڪ متبادل طور تي SysV-init شروعاتي سسٽم جو متبادل آهي جيڪو انحصار کي سپورٽ ڪري ٿو. شيفرڊ ڪنٽرول ڊيمون ۽ يوٽيلٽيز گائل ٻولي ۾ لکيل آهن (اسڪيم جي ٻولي جي عملن مان هڪ)، جيڪو پڻ استعمال ڪيو ويندو آهي سيٽنگون ۽ پيرا ميٽرز کي بيان ڪرڻ لاءِ خدمتون شروع ڪرڻ لاءِ. شيفرڊ اڳ ۾ ئي استعمال ڪيو ويو آهي GuixSD GNU/Linux تقسيم ۾ ۽ مقصد پڻ GNU/Hurd ۾ استعمال ڪرڻ آهي، پر ڪنهن به POSIX-compliant OS تي هلائي سگھي ٿو جنهن لاءِ گائل ٻولي موجود آهي.
شيفرڊ خدمتن کي شروع ڪرڻ ۽ بند ڪرڻ جو ڪم ڪري ٿو خدمتن جي وچ ۾ لاڳاپن کي مدنظر رکندي، متحرڪ طور تي انهن خدمتن کي سڃاڻڻ ۽ شروع ڪرڻ جنهن تي چونڊيل خدمت منحصر آهي. شيفرڊ خدمتن جي وچ ۾ تڪرار کي ڳولڻ ۽ انهن کي گڏوگڏ هلائڻ کان روڪڻ جي پڻ مدد ڪري ٿو. پروجيڪٽ ٻئي استعمال ڪري سگھجن ٿا بنيادي شروعاتي سسٽم (PID 1 سان init)، ۽ الڳ فارم ۾ انفرادي استعمال ڪندڙن جي پس منظر واري عمل کي منظم ڪرڻ لاءِ (مثال طور، ٽور، پرائيوڪسي، ميڪرون وغيره) کي هلائڻ لاءِ. انهن استعمال ڪندڙن مان.
تبديلين جي وچ ۾:
- شيفرڊ ۾ استعمال ٿيل فائل بيان ڪندڙ هاڻي O_CLOEXEC (close-on-exec) پرچم سان نشان لڳل آهن بجاءِ فوري طور تي بند ٿيڻ بجاءِ جڏهن هڪ exec-command execute ڪيو وڃي ٿو، هينڊلز کي اجازت ڏئي ٿو ته سروسز ڏانهن منتقل ٿيڻ جي اڻ سڌي طرح هڪ exec-command ذريعي شروع ڪئي وڃي.
- ڪلائنٽ ڪنيڪشن هاڻي غير بلاڪ ڪرڻ واري طريقي سان پروسيس ڪيا ويا آهن، جيڪو هڪ نامڪمل حڪم موڪلڻ وقت ريڍار کي پھانسي کان روڪي ٿو.
- انهي کي يقيني بڻائي ٿي ته هڪ ڊاريڪٽري ٺاهي وئي آهي لاگ فائلن لاءِ بيان ڪيل "لاگ فائل" سيٽنگ ۾ جيڪڏهن اهو موجود ناهي.
جو ذريعو: opennet.ru