menaxheri i shërbimeve (), i cili zhvillohet nga zhvilluesit e distribucionit GNU Guix System si një varësi mbështetëse alternative ndaj sistemit të inicializimit SysV-init. Demoni menaxhues dhe utilitetet e Shepherd janë shkruar në gjuhën Guile (një nga implementimet e gjuhës Scheme), e cila gjithashtu përdoret për të përcaktuar konfigurimet dhe parametrat e lancimit të shërbimeve. Shepherd tashmë aplikohet në distribucionin GuixSD GNU/Linux dhe gjithashtu synon të përdoret në GNU/Hurd, por mund të funksionojë në çdo sistem operativ që përputhet me POSIX, për të cilin është në dispozicion gjuhë Guile.
Shepherd mund të përdoret si sistem kryesor i inicializimit (init me PID 1), ashtu edhe në një formë të ndarë për të menaxhuar proceset mb arriÚre të përdoruesve të veçantë (p.sh., për të nisur tor, privoxy, mcron etj.) me ekzekutim me të drejtat e atyre përdoruesve. Shepherd merr përsipër detyrat e nisjes dhe ndaljes së shërbimeve, duke marrë parasysh ndërveprimin midis shërbimeve, duke përcaktuar dhe nisur në mënyrë dinamike shërbimet nga të cilat varet shërbimi i zgjedhur. Shepherd gjithashtu mbështet përcaktimin e konflikteve midis shërbimeve dhe parandalon ekzekutimin e tyre njëherësh.
TĂ« rejat kryesore:
- Në make-kill-destructor është implementuar vrasja e grupit të proceseve;
- ĂshtĂ« shtuar parametri «default-pid-file-timeout», qĂ« pĂ«rcakton kohĂ«n e pritjes pĂ«r krijimin e skedarit PID;
- Nëse skedari PID nuk shfaqet brenda kohës së pritjes, është garantuar mbyllja e gjithë grupit të proceseve (zgjidh) e lënies së proceseve punuese pa skedar PID);
- Në «make-forkexec-constructor» është shtuar parametri «#:file-creation-mask», është realizuar krijimi i skedarëve të logëve dhe është ndërprerë mbështetje për marrëveshjen e vjetër të thirrjeve;
- ĂshtĂ« zgjidhur problemi me kompilimin nĂ« sisteme pa prctl, si GNU/Hurd;
- ĂshtĂ« eliminuar njĂ« problem qĂ« shkaktonte dĂ«rgimin e SIGALRM çdo sekondĂ«.
Burimi: opennet.ru
