Издавање на GNU Shepherd 0.8 init системот

Достапно менаџер на услуги GNU Shepherd 0.8 (поранешен дмд), кој го развиваат развивачите на дистрибуцијата на GNU Guix System како алтернатива која е свесна за зависноста на системот за иницијализација на SysV-init. Контролниот демон и алатките на Shepherd се напишани на јазикот Guile (една од имплементациите на јазикот Scheme), кој исто така се користи за дефинирање на поставките и параметрите за стартување услуги. Shepherd веќе се користи во дистрибуцијата на GuixSD GNU/Linux и исто така е наменет за употреба во GNU/Hurd, но може да работи на кој било оперативен систем компатибилен со 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-forkeexec-constructor“, имплементирано е создавање на датотека за евиденција и престана да ја поддржува старата конвенција за повикување;
  • Решени проблеми со компилација на системи без prctl, како што е GNU/Hurd;
  • Решен проблем поради кој SIGALRM се испраќа секоја секунда.

Извор: opennet.ru

Додадете коментар