Objavljen je uslužni menadžer GNU Shepherd 0.9.2 (bivši dmd), koji razvijaju programeri distribucije GNU Guix System kao alternativu sistemu inicijalizacije SysV-init, koji podržava zavisnosti. Daemon menadžer i alati Shepherd su napisani na jeziku Guile (jedna od implementacija jezika Scheme), koji se takođe koristi za definisanje postavki i parametara pokretanja usluga. Shepherd se već koristi u distribuciji GuixSD GNU/Linux i takođe je usmjeren za korišćenje u GNU/Hurd, ali može raditi na svakoj POSIX-kompatibilnoj operativnoj sistemu, za koju je dostupan jezik Guile.
Shepherd obavlja zadatke pokretanja i zaustavljanja usluga, uzimajući u obzir međusobne odnose između usluga, dinamički definišući i pokrećući usluge od kojih zavisi odabrana usluga. Shepherd takođe podržava definisanje sukoba između usluga i sprečava njihovo istovremeno izvršavanje. Projekat se može koristiti i kao glavni sistem inicijalizacije (init sa PID 1), kao i u odvojenom obliku za upravljanje pozadinskim procesima pojedinačnih korisnika (na primer, za pokretanje tor, privoxy, mcron itd.) sa izvršavanjem sa pravima tih korisnika.
Između izmjena:
- U Shepherd-u, korišćeni fajl deskriptori se sada označavaju zastavicom O_CLOEXEC (close-on-exec), a ne zatvaraju se odmah prilikom izvršavanja 'exec-command', što omogućava prosleđivanje deskriptora uslugama koje nisu pokrenute direktno, već pomoću 'exec-command'.
- Klijentske konekcije se sada obrađuju u neblokirajućem režimu, što omogućava izbegavanje zastoja Shepherd-a prilikom slanja nepotpune komande.
- Obezbeđeno je kreiranje direktorijuma za log-fajlove, definisane u postavci 'log-file', u slučaju da ne postoji.
Izvor: opennet.ru
