Izdanje GNU Shepherd 0.8 init sistema

Dostupno servis menadžer GNU Shepherd 0.8 (ex dmd), koji razvijaju programeri distribucije GNU Guix System kao alternativu SysV-init sistemu svesne 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 se može koristiti i kao glavni init sistem (init sa PID-om 1), i u zasebnom obliku za upravljanje pozadinskim procesima pojedinačnih korisnika (na primjer, za pokretanje tor, privoxy, mcron, itd.) uz izvršavanje s pravima ovih korisnika. Shepherd obavlja posao pokretanja i zaustavljanja servisa vodeći računa o odnosu između usluga, dinamički određujući i pokreće servise od kojih zavisi odabrana usluga. Shepherd također podržava otkrivanje sukoba između usluga i sprječava njihovo istovremeno pokretanje.

Glavne inovacije:

  • make-kill-destructor implementira ubijanje grupe procesa;
  • Dodan parametar "default-pid-file-timeout", koji određuje vremensko ograničenje za kreiranje PID datoteke;
  • Ako se PID datoteka ne pojavi unutar vremenskog ograničenja, cijela grupa procesa se prekida (odlučuje problem ostavljanje radnih procesa bez PID datoteke);
  • Dodan parametar "#:file-creation-mask" u "make-forkexec-constructor", implementirano kreiranje log fajlova i uklonjena podrška za staru konvenciju pozivanja;
  • Popravljeni problemi sa kompilacijom na sistemima bez prctl-a, kao što je GNU/Hurd;
  • Ispravljena greška zbog koje se SIGALRM šalje svake sekunde.

izvor: opennet.ru

Dodajte komentar