Keluaran sistem init GNU Shepherd 0.8

Ada Pengurus Perkhidmatan GNU Shepherd 0.8 (bekas dmd), yang sedang dibangunkan oleh pembangun pengedaran Sistem GNU Guix sebagai alternatif yang menyedari kebergantungan kepada sistem init SysV-init. Daemon dan utiliti kawalan Shepherd ditulis dalam bahasa Guile (salah satu pelaksanaan bahasa Skim), yang juga digunakan untuk menentukan tetapan dan parameter untuk melancarkan perkhidmatan. Shepherd telah digunakan dalam pengedaran GuixSD GNU/Linux dan juga bertujuan untuk digunakan dalam GNU/Hurd, tetapi boleh dijalankan pada mana-mana OS yang mematuhi POSIX yang bahasa Guile tersedia.

Shepherd boleh digunakan sebagai sistem permulaan utama (init dengan PID 1), dan dalam bentuk berasingan untuk mengurus proses latar belakang pengguna individu (contohnya, untuk menjalankan tor, privoxy, mcron, dll.) dengan pelaksanaan dengan hak pengguna ini. Shepherd melakukan kerja memulakan dan menghentikan perkhidmatan dengan mengambil kira perhubungan antara perkhidmatan, mengenal pasti dan memulakan perkhidmatan yang bergantung kepada perkhidmatan yang dipilih secara dinamik. Shepherd juga menyokong pengesanan konflik antara perkhidmatan dan menghalangnya daripada berjalan serentak.

Inovasi utama:

  • Make-kill-destructor melaksanakan pembunuhan sekumpulan proses;
  • Menambah parameter "default-pid-file-timeout", yang menentukan masa menunggu untuk membuat fail PID;
  • Jika fail PID tidak muncul dalam tamat masa, keseluruhan kumpulan proses akan ditamatkan (memutuskan masalah itu meninggalkan proses kerja tanpa fail PID);
  • Menambah parameter "#:file-creation-mask" kepada "make-forkexec-constructor", melaksanakan penciptaan fail log dan berhenti menyokong konvensyen panggilan lama;
  • Menyelesaikan masalah dengan kompilasi pada sistem tanpa prctl, seperti GNU/Hurd;
  • Memperbaiki isu yang menyebabkan SIGALRM dihantar setiap saat.

Sumber: opennet.ru

Tambah komen