Objavljen je servis menadžer GNU Shepherd 0.9.2 (ranije dmd), koji razvijaju programeri distribucije GNU Guix sistema kao alternativu sistemu inicijalizacije SysV-init koji podržava zavisnosti. Shepherd kontrolni demon i uslužni programi su napisani na jeziku Guile (jedna od implementacija jezika Scheme), koji se također koristi za definiranje postavki i parametara za pokretanje servisa. Shepherd se već koristi u GuixSD GNU/Linux distribuciji i također je namijenjen upotrebi u GNU/Hurdu, ali može raditi na bilo kojem OS-u kompatibilnom s POSIX-om za koji je dostupan jezik Guile.
Shepherd obavlja posao pokretanja i zaustavljanja usluga uzimajući u obzir odnose između usluga, dinamički identificirajući i pokretajući usluge od kojih ovisi odabrana usluga. Shepherd također podržava otkrivanje sukoba između usluga i sprječavanje njihovog istovremenog pokretanja. Projekat se može koristiti i kao glavni sistem za inicijalizaciju (init sa PID 1), i u zasebnom obliku za upravljanje pozadinskim procesima pojedinačnih korisnika (na primjer, za pokretanje tor, privoxy, mcron, itd.) uz izvršavanje sa pravima ovih korisnika.
Među promjenama:
- Deskriptori datoteka koji se koriste u Shepherd-u sada su označeni oznakom O_CLOEXEC (close-on-exec) umjesto da se zatvaraju odmah kada se izvrši exec-naredba, što omogućava prosljeđivanje ručki uslugama koje je indirektno pokrenula exec-naredba.
- Klijentske veze se sada obrađuju na neblokirajući način, što onemogućuje Shepherd da visi prilikom slanja nepotpune komande.
- Osigurava da se kreira direktorij za datoteke dnevnika definirane u postavci “log-file” ako ne postoji.
izvor: opennet.ru