انتشار سیستم GNU Shepherd 0.8 init

در دسترس مدیر خدمات گنو شپرد 0.8 (dmd سابق) که توسط توسعه دهندگان توزیع سیستم GNU Guix به عنوان جایگزینی آگاه از وابستگی برای سیستم اولیه SysV-init در حال توسعه است. شبح کنترل Shepherd و ابزارهای کمکی به زبان Guile (یکی از پیاده سازی های زبان Scheme) نوشته شده اند که برای تعریف تنظیمات و پارامترهای راه اندازی سرویس ها نیز استفاده می شود. Shepherd قبلاً در توزیع GuixSD GNU/Linux استفاده می‌شود و همچنین هدف آن استفاده در GNU/Hurd است، اما می‌تواند روی هر سیستم‌عامل سازگار با POSIX که زبان Guile برای آن موجود است اجرا شود.

Shepherd را می توان هم به عنوان سیستم اولیه اولیه (init با PID 1) و هم در یک فرم جداگانه برای مدیریت فرآیندهای پس زمینه تک تک کاربران (مثلاً برای اجرای tor، privoxy، mcron و غیره) با اجرا با حقوق استفاده کرد. این کاربران شپرد کار شروع و توقف خدمات را با در نظر گرفتن روابط بین سرویس ها انجام می دهد، به صورت پویا خدماتی را که سرویس انتخابی به آن بستگی دارد، شناسایی و شروع می کند. Shepherd همچنین از شناسایی تضاد بین سرویس ها و جلوگیری از اجرای همزمان آنها پشتیبانی می کند.

نوآوری های اصلی:

  • Make-kill-destructor از بین بردن گروهی از فرآیندها استفاده می کند.
  • اضافه شدن پارامتر "default-pid-file-timeout" که زمان انتظار برای ایجاد یک فایل PID را تعیین می کند.
  • اگر فایل PID در مهلت زمانی ظاهر نشود، کل گروه فرآیند خاتمه می یابد (تصمیم می گیرد مسئله ترک فرآیندهای کاری بدون فایل PID)؛
  • پارامتر "#: file-creation-mask" به "make-forkeexec-constructor" اضافه شد، ایجاد فایل log پیاده‌سازی شد و پشتیبانی از قرارداد قدیمی فراخوانی متوقف شد.
  • حل مشکلات کامپایل در سیستم های بدون prctl، مانند گنو/هورد.
  • رفع مشکلی که باعث می شد SIGALRM هر ثانیه ارسال شود.

منبع: opennet.ru

اضافه کردن نظر