GNU Shepherd 0.8 init tizimining chiqarilishi

Mavjud xizmat ko'rsatish menejeri GNU Shepherd 0.8 (sobiq dmd), GNU Guix System tarqatish ishlab chiquvchilari tomonidan SysV-init init tizimiga qaramlikdan xabardor muqobil sifatida ishlab chiqilmoqda. Shepherd boshqaruv demoni va yordamchi dasturlari Guile tilida yozilgan (Sxema tilining ilovalaridan biri), bu xizmatlarni ishga tushirish sozlamalari va parametrlarini aniqlash uchun ham ishlatiladi. Shepherd allaqachon GuixSD GNU/Linux distributivida qo‘llanilgan va GNU/Hurd-da ham foydalanishga mo‘ljallangan, biroq Guile tili mavjud bo‘lgan har qanday POSIX-mos OS da ishlashi mumkin.

Shepherd-dan asosiy ishga tushirish tizimi (PID 1 bilan ishga tushirish) sifatida ham, alohida foydalanuvchilarning fon jarayonlarini boshqarish uchun alohida shaklda (masalan, tor, privoxy, mcron va boshqalarni ishga tushirish) huquqlari bilan foydalanish mumkin. bu foydalanuvchilar. Shepherd xizmatlar o'rtasidagi munosabatlarni hisobga olgan holda, tanlangan xizmat bog'liq bo'lgan xizmatlarni dinamik ravishda aniqlash va ishga tushirish orqali xizmatlarni ishga tushirish va to'xtatish ishlarini bajaradi. Shepherd shuningdek, xizmatlar o'rtasidagi ziddiyatlarni aniqlash va ularning bir vaqtda ishlashini oldini olishni qo'llab-quvvatlaydi.

Asosiy innovatsiyalar:

  • Make-kill-destructor bir guruh jarayonlarni o'ldirishni amalga oshiradi;
  • PID faylini yaratish uchun kutish vaqtini aniqlaydigan "default-pid-file-timeout" parametri qo'shildi;
  • Agar PID fayli vaqt oralig'ida ko'rinmasa, butun jarayon guruhi tugatiladi (qaror qiladi muammo ish jarayonlarini PID faylisiz qoldirish);
  • “Make-forkexec-constructor”ga “#:file-creation-mask” parametri qo‘shildi, jurnal faylini yaratish amalga oshirildi va eski chaqiruv konventsiyasini qo‘llab-quvvatlash to‘xtatildi;
  • GNU/Hurd kabi prctlsiz tizimlarda kompilyatsiya qilish bilan bog'liq muammolar hal qilindi;
  • SIGALRM har soniyada yuborilishiga olib keladigan muammo tuzatildi.

Manba: opennet.ru

a Izoh qo'shish