Ngaleupaskeun sistem init GNU Shepherd 0.9.2

Pangatur jasa GNU Shepherd 0.9.2 (baheulana dmd) parantos diterbitkeun, anu dikembangkeun ku pamekar distribusi GNU Guix System salaku alternatip pikeun sistem inisialisasi SysV-init anu ngadukung dependensi. 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 GuixSD GNU/Linux sareng ogé ditujukeun pikeun dianggo dina GNU/Hurd, tapi tiasa dijalankeun dina OS anu patuh POSIX anu sayogi basa Guile.

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. Proyék ieu 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. tina pamaké ieu.

Diantara parobahanana:

  • Deskriptor file anu dianggo dina Shepherd ayeuna ditandaan ku bandéra O_CLOEXEC (deukeut-on-exec) tinimbang ditutup langsung nalika paréntah-exec dieksekusi, anu ngamungkinkeun genggaman disalurkeun ka jasa anu dimimitian sacara henteu langsung ku paréntah exec.
  • Sambungan klien ayeuna diprosés dina cara non-blocking, nu nyegah angon ti gantung nalika ngirim paréntah teu lengkep.
  • Mastikeun yén diréktori dijieun pikeun file log didefinisikeun dina "log-file" setelan lamun teu aya.

sumber: opennet.ru

Tambahkeun komentar