Rilis sistem init GNU Shepherd 0.8

Tersedia manajer Pelayanan GNU Gembala 0.8 (mantan dmd), yang sedang dikembangkan oleh pengembang distribusi Sistem GNU Guix sebagai alternatif sadar ketergantungan terhadap sistem inisialisasi SysV-init. Daemon dan utilitas kontrol Shepherd ditulis dalam bahasa Guile (salah satu implementasi bahasa Skema), yang juga digunakan untuk menentukan pengaturan dan parameter untuk meluncurkan layanan. Shepherd sudah digunakan dalam distribusi GuixSD GNU/Linux dan juga ditujukan untuk digunakan di GNU/Hurd, tetapi dapat berjalan pada OS apa pun yang mendukung POSIX dan bahasa Guile tersedia.

Shepherd dapat digunakan baik sebagai sistem inisialisasi utama (init dengan PID 1), dan dalam bentuk terpisah untuk mengelola proses latar belakang pengguna individu (misalnya, untuk menjalankan tor, privoxy, mcron, dll.) dengan eksekusi dengan hak dari para pengguna ini. Shepherd melakukan pekerjaan memulai dan menghentikan layanan dengan mempertimbangkan hubungan antar layanan, secara dinamis mengidentifikasi dan memulai layanan yang menjadi sandaran layanan yang dipilih. Shepherd juga mendukung pendeteksian konflik antar layanan dan mencegahnya berjalan secara bersamaan.

Inovasi utama:

  • Make-kill-destructor mengimplementasikan penghentian sekelompok proses;
  • Menambahkan parameter β€œdefault-pid-file-timeout”, yang menentukan waktu tunggu untuk membuat file PID;
  • Jika file PID tidak muncul dalam batas waktu, seluruh grup proses dihentikan (memutuskan masalahnya meninggalkan proses kerja tanpa file PID);
  • Menambahkan parameter β€œ#:file-creation-mask” ke β€œmake-forkexec-constructor”, mengimplementasikan pembuatan file log dan berhenti mendukung konvensi pemanggilan lama;
  • Memecahkan masalah kompilasi pada sistem tanpa prctl, seperti GNU/Hurd;
  • Memperbaiki masalah yang menyebabkan SIGALRM dikirim setiap detik.

Sumber: opennet.ru

Tambah komentar