GNU شیفرڈ 0.8 init سسٹم کی رہائی

دستیاب منتظم خدمات GNU شیپرڈ 0.8 (سابق ڈی ایم ڈی)، جسے GNU Guix سسٹم ڈسٹری بیوشن کے ڈویلپرز SysV-init ابتدائی نظام کے انحصار سے آگاہ متبادل کے طور پر تیار کر رہے ہیں۔ شیپرڈ کنٹرول ڈیمون اور یوٹیلیٹیز گائل لینگویج میں لکھی جاتی ہیں (اسکیم لینگویج کے نفاذ میں سے ایک)، جو سروسز کے آغاز کے لیے سیٹنگز اور پیرامیٹرز کی وضاحت کے لیے بھی استعمال ہوتی ہے۔ شیپرڈ پہلے سے ہی GuixSD GNU/Linux ڈسٹری بیوشن میں استعمال ہو چکا ہے اور اس کا مقصد GNU/Hurd میں بھی استعمال کرنا ہے، لیکن یہ کسی بھی POSIX-compliant OS پر چل سکتا ہے جس کے لیے Guile زبان دستیاب ہے۔

شیپرڈ کو بنیادی ابتدائی نظام (PID 1 کے ساتھ init) کے طور پر، اور انفرادی صارفین کے پس منظر کے عمل کو منظم کرنے کے لیے ایک علیحدہ شکل میں استعمال کیا جا سکتا ہے (مثال کے طور پر، tor، privoxy، mcron، وغیرہ) کے حقوق کے ساتھ عملدرآمد کے ساتھ۔ یہ صارفین. شیپرڈ خدمات کے درمیان تعلقات کو مدنظر رکھتے ہوئے خدمات کو شروع کرنے اور روکنے کا کام کرتا ہے، متحرک طور پر ان خدمات کی شناخت اور آغاز کرتا ہے جن پر منتخب سروس انحصار کرتی ہے۔ شیفرڈ خدمات کے درمیان تنازعات کا پتہ لگانے اور انہیں بیک وقت چلنے سے روکنے میں بھی مدد کرتا ہے۔

اہم اختراعات:

  • میک-کِل-ڈسٹریکٹر عمل کے ایک گروپ کو مارنے کے عمل کو لاگو کرتا ہے۔
  • شامل کیا گیا پیرامیٹر "default-pid-file-timeout"، جو PID فائل بنانے کے لیے انتظار کے وقت کا تعین کرتا ہے۔
  • اگر PID فائل ٹائم آؤٹ کے اندر ظاہر نہیں ہوتی ہے، تو پورا عمل گروپ ختم ہو جاتا ہے (فیصلہ کرتا ہے۔ مسئلہ PID فائل کے بغیر کام کے عمل کو چھوڑنا؛
  • "#:file-creation-mask" پیرامیٹر کو "make-forkexec-constructor" میں شامل کیا، لاگ فائل کی تخلیق کو لاگو کیا اور پرانے کالنگ کنونشن کو سپورٹ کرنا بند کر دیا۔
  • prctl کے بغیر سسٹمز پر تالیف کے ساتھ مسائل حل کیے، جیسے GNU/Hurd؛
  • ایک مسئلہ حل کیا جس کی وجہ سے SIGALRM ہر سیکنڈ میں بھیجا جاتا تھا۔

ماخذ: opennet.ru

نیا تبصرہ شامل کریں