Vrystelling van die GNU Shepherd 0.8 init-stelsel

Beskikbaar diens bestuurder GNU Shepherd 0.8 (eks dmd), wat ontwikkel word deur die ontwikkelaars van die GNU Guix System-verspreiding as 'n afhanklikheidsbewuste alternatief vir die SysV-init-stelsel. Die Shepherd-beheerdaemon en nutsprogramme is geskryf in die Guile-taal (een van die implementerings van die Skema-taal), wat ook gebruik word om instellings en parameters vir die begin van dienste te definieer. Shepherd word reeds in die GuixSD GNU/Linux-verspreiding gebruik en is ook bedoel vir gebruik in GNU/Hurd, maar kan op enige POSIX-voldoenende bedryfstelsel werk waarvoor die Guile-taal beskikbaar is.

Shepherd kan beide as die hoof init-stelsel (init met PID 1) en in 'n aparte vorm gebruik word om agtergrondprosesse van individuele gebruikers te bestuur (byvoorbeeld om tor, privoxy, mcron, ens.) met uitvoering met die regte van hierdie gebruikers. Shepherd doen die werk om dienste te begin en te stop deur die verhouding tussen dienste in ag te neem, die dienste waarvan die geselekteerde diens afhanklik is, dinamies te bepaal en te begin. Shepherd ondersteun ook konflikopsporing tussen dienste en verhoed dat hulle gelyktydig loop.

Belangrikste innovasies:

  • Maak-dood-vernietiger-implemente wat 'n groep prosesse doodmaak;
  • Bygevoeg parameter "default-pid-file-timeout", wat die wagtyd bepaal vir die skep van 'n PID-lêer;
  • As die PID-lêer nie binne die uitteltyd verskyn nie, word die hele prosesgroep beëindig (besluit die probleem werkprosesse sonder 'n PID-lêer laat);
  • Bygevoeg "#: file-creation-mask" parameter by "make-forkexec-constructor", loglêerskepping geïmplementeer en opgehou om die ou oproepkonvensie te ondersteun;
  • Probleme opgelos met samestelling op stelsels sonder prctl, soos GNU/Hurd;
  • 'n Probleem opgelos wat veroorsaak het dat SIGALRM elke sekonde gestuur is.

Bron: opennet.ru

Voeg 'n opmerking