Paglabas ng GNU Shepherd 0.8 init system

Magagamit tagapamahala ng Serbisyo GNU Shepherd 0.8 (dating dmd), na binuo ng mga nag-develop ng pamamahagi ng GNU Guix System bilang isang dependency-aware na alternatibo sa SysV-init initialization system. Ang Shepherd control daemon at mga utility ay nakasulat sa Guile language (isa sa mga pagpapatupad ng Scheme language), na ginagamit din para tukuyin ang mga setting at parameter para sa paglulunsad ng mga serbisyo. Ginagamit na ang Shepherd sa pamamahagi ng GuixSD GNU/Linux at nilalayon din itong gamitin sa GNU/Hurd, ngunit maaaring tumakbo sa anumang OS na sumusunod sa POSIX kung saan available ang wikang Guile.

Maaaring gamitin ang Shepherd bilang pangunahing sistema ng pagsisimula (init sa PID 1), at sa isang hiwalay na anyo upang pamahalaan ang mga proseso sa background ng mga indibidwal na gumagamit (halimbawa, upang patakbuhin ang tor, privoxy, mcron, atbp.) na may pagpapatupad na may mga karapatan ng ang mga gumagamit na ito. Ginagawa ng Shepherd ang gawain ng pagsisimula at pagpapahinto ng mga serbisyo sa pamamagitan ng pagsasaalang-alang sa mga ugnayan sa pagitan ng mga serbisyo, dynamic na pagtukoy at pagsisimula ng mga serbisyo kung saan nakasalalay ang napiling serbisyo. Sinusuportahan din ng Shepherd ang pag-detect ng mga salungatan sa pagitan ng mga serbisyo at pagpigil sa mga ito na tumakbo nang sabay-sabay.

Mga pangunahing inobasyon:

  • Ang make-kill-destructor ay nagpapatupad ng pagpatay sa isang grupo ng mga proseso;
  • Nagdagdag ng parameter na "default-pid-file-timeout", na tumutukoy sa oras ng paghihintay para sa paggawa ng PID file;
  • Kung ang PID file ay hindi lilitaw sa loob ng timeout, ang buong pangkat ng proseso ay wawakasan (nagpapasya problema pag-iwan sa mga proseso ng trabaho nang walang PID file);
  • Idinagdag ang parameter na "#:file-creation-mask" sa "make-forkexec-constructor", ipinatupad ang paggawa ng log file at huminto sa pagsuporta sa lumang convention sa pagtawag;
  • Nalutas ang mga problema sa compilation sa mga system na walang prctl, tulad ng GNU/Hurd;
  • Inayos ang isang isyu na naging sanhi ng pagpapadala ng SIGALRM bawat segundo.

Pinagmulan: opennet.ru

Magdagdag ng komento