Rilis sistem init GNU Shepherd 0.9.2

Manajer layanan GNU Shepherd 0.9.2 (sadurunge dmd) wis diterbitake, sing dikembangake dening pangembang distribusi GNU Guix System minangka alternatif kanggo sistem inisialisasi SysV-init sing ndhukung dependensi. Daemon lan utilitas kontrol Shepherd ditulis ing basa Guile (salah sawijining implementasi saka basa Skema), sing uga digunakake kanggo nemtokake setelan lan paramèter kanggo layanan sing diluncurake. Shepherd wis digunakake ing distribusi GNU/Linux GuixSD lan uga ditujokake kanggo digunakake ing GNU/Hurd, nanging bisa mlaku ing OS sing cocog karo POSIX sing kasedhiya basa Guile.

Shepherd nindakake pakaryan kanggo miwiti lan mungkasi layanan kanthi nimbang hubungan antarane layanan, kanthi dinamis ngenali lan miwiti layanan sing gumantung saka layanan sing dipilih. Shepherd uga ndhukung ndeteksi konflik ing antarane layanan lan nyegah supaya ora bisa mlaku bebarengan. Proyek kasebut bisa digunakake minangka sistem inisialisasi utama (init karo PID 1), lan ing wangun sing kapisah kanggo ngatur proses latar mburi pangguna individu (contone, kanggo mbukak tor, privoxy, mcron, lsp) kanthi eksekusi kanthi hak. saka pangguna iki.

Ing antarane owah-owahan:

  • Deskriptor file sing digunakake ing Shepherd saiki ditandhani karo gendΓ©ra O_CLOEXEC (close-on-exec) tinimbang langsung ditutup nalika perintah eksekusi dieksekusi, ngidini penangan dikirim menyang layanan sing diwiwiti kanthi ora langsung dening perintah exec.
  • Sambungan klien saiki diproses kanthi cara non-blocking, sing nyegah pangon saka gantung nalika ngirim prentah sing ora lengkap.
  • Mesthekake yen direktori digawe kanggo file log sing ditetepake ing setelan "file log" yen ora ana.

Source: opennet.ru

Add a comment