เบเบฒเบ™เบ›เปˆเบญเบ GNU Shepherd 0.8 เบฅเบฐเบšเบปเบš init

เบกเบตเปƒเบซเป‰ เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ GNU Shepherd 0.8 (เบญเบฐเบ”เบตเบ” dmd), เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เปเบˆเบเบขเบฒเบเบฅเบฐเบšเบปเบš GNU Guix เป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบฎเบนเป‰เป€เบ–เบดเบ‡เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ SysV-init. Shepherd control daemon เปเบฅเบฐ utilities เบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒ Guile (เบซเบ™เบถเปˆเบ‡เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบžเบฒเบชเบฒ Scheme), เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบฅเบฐเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบšเปเบฅเบดเบเบฒเบ™. Shepherd เบ–เบทเบเปƒเบŠเป‰เปเบฅเป‰เบงเปƒเบ™เบเบฒเบ™เปเบˆเบเบขเบฒเบ GuixSD GNU/Linux เปเบฅเบฐเบเบฑเบ‡เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ GNU/Hurd, เปเบ•เปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบ—เบธเบ OS เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบก POSIX เบ—เบตเปˆเบžเบฒเบชเบฒ Guile เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰.

Shepherd เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰เบ—เบฑเบ‡เบชเบญเบ‡เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ•เบปเป‰เบ™เบ•เป (init เบเบฑเบš PID 1), เปเบฅเบฐเปƒเบ™เบฎเบนเบšเปเบšเบšเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปƒเบ™เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ tor, privoxy, mcron, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เป‚เบ”เบเบกเบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบดเบ”เบ—เบดเบ‚เบญเบ‡. เบœเบนเป‰เปƒเบŠเป‰เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. Shepherd เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบเบฒเบ™เบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป‚เบ”เบเบเบฒเบ™เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเปเบฅเบฐเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเป€เบฅเบทเบญเบเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบš. Shepherd เบเบฑเบ‡เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ‚เปเป‰เบ‚เบฑเบ”เปเบเปˆเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบ›เป‰เบญเบ‡เบเบฑเบ™เบšเปเปˆเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเป€เบฎเบฑเบ”เบงเบฝเบเบžเป‰เบญเบกเบเบฑเบ™.

เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ•เบปเป‰เบ™เบ•เป:

  • Make-kill-destructor เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เป‰เบฒเบเบธเปˆเบกเบ‚เบฐเบšเบงเบ™เบเบฒเบ™;
  • เป€เบžเบตเปˆเบกเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต "default-pid-file-timeout", เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบฅเปเบ–เป‰เบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ PID;
  • เบ–เป‰เบฒเป„เบŸเบฅเปŒ PID เบšเปเปˆเบ›เบฒเบเบปเบ”เบžเบฒเบเปƒเบ™เป€เบงเบฅเบฒเบซเบกเบปเบ”เป€เบงเบฅเบฒ, เบเบธเปˆเบกเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเบ–เบทเบเบ›เบดเบ” (เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆ เบšเบฑเบ™เบซเบฒ เบญเบญเบเบˆเบฒเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบšเปเปˆเบกเบตเป„เบŸเบฅเปŒ PID);
  • เป€เบžเบตเปˆเบกเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต โ€œ#:file-creation-maskโ€ เปƒเบชเปˆ โ€œmake-forkexec-constructorโ€, เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒเบšเบฑเบ™เบ—เบถเบ เปเบฅเบฐเบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบชเบฐเปœเบฑเบšเบชเบฐเปœเบนเบ™เบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒเบเบฒเบ™เป‚เบ—เปเบšเบšเป€เบเบปเปˆเบฒ;
  • เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบšเปเปˆเบกเบต prctl, เป€เบŠเบฑเปˆเบ™ GNU/Hurd;
  • เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰ SIGALRM เบ–เบทเบเบชเบปเปˆเบ‡เบ—เบธเบเบงเบดเบ™เบฒเบ—เบต.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™