Ngaleupaskeun sistem init GNU Shepherd 0.8

Aya manajer jasa GNU Angon 0.8 (baheula dmd), anu dikembangkeun ku pamekar distribusi Sistem GNU Guix salaku alternatif anu sadar gumantung kana sistem inisialisasi SysV-init. Daemon kontrol Shepherd sareng utilitas ditulis dina basa Guile (salah sahiji palaksanaan basa Skéma), anu ogé dianggo pikeun netepkeun setélan sareng parameter pikeun ngaluncurkeun jasa. Shepherd parantos dianggo dina distribusi GNU/Linux GuixSD sareng ogé ditujukeun pikeun dianggo dina GNU/Hurd, tapi tiasa dijalankeun dina OS anu patuh POSIX anu sayogi basa Guile.

Shepherd tiasa dianggo salaku sistem initialization utama (init sareng PID 1), sareng dina bentuk anu misah pikeun ngatur prosés latar tukang pangguna individu (contona, ngajalankeun tor, privoxy, mcron, jsb) kalayan palaksanaan kalayan hak pamaké ieu. Angon ngalakukeun pagawéan ngamimitian sareng ngeureunkeun jasa ku cara ngitung hubungan antara jasa, sacara dinamis ngidentipikasi sareng ngamimitian jasa anu gumantung kana jasa anu dipilih. Shepherd ogé ngadukung ngadeteksi konflik antara jasa sareng nyegah aranjeunna ngajalankeun sakaligus.

Inovasi utama:

  • Jieun-maéhan-destructor implements killing grup prosés;
  • Ditambahkeun parameter "default-pid-file-timeout", anu nangtukeun waktos ngantosan pikeun nyiptakeun file PID;
  • Upami file PID henteu muncul dina waktos béakna, sadaya grup prosés ditungtungan (mutuskeun masalah ninggalkeun prosés gawé tanpa file PID);
  • Ditambahkeun "#: file-creation-topeng" parameter pikeun "make-forkexec-constructor", dilaksanakeun kreasi file log sarta dieureunkeun ngarojong konvénsi nélépon heubeul;
  • Ngarengsekeun masalah sareng kompilasi dina sistem tanpa prctl, sapertos GNU / Hurd;
  • Ngalereskeun masalah anu nyababkeun SIGALRM dikirim unggal detik.

sumber: opennet.ru

Tambahkeun komentar