GNU Shepherd 0.8 init жүйесінің шығарылымы

Қол жетімді қызмет көрсету жөніндегі менеджер GNU Shepherd 0.8 (бұрынғы dmd), оны GNU Guix жүйесінің дистрибутивін әзірлеушілер SysV-init init жүйесіне тәуелділіктен хабардар балама ретінде әзірлейді. Shepherd басқару демоны мен утилиталары Guile тілінде жазылған (Схема тілінің іске асыруларының бірі), ол сонымен қатар қызметтерді іске қосу параметрлері мен параметрлерін анықтау үшін қолданылады. Shepherd GuixSD GNU/Linux дистрибутивінде бұрыннан қолданылған және GNU/Hurd жүйесінде де пайдалануға бағытталған, бірақ Guile тілі қолжетімді кез келген POSIX-үйлесімді ОЖ-да жұмыс істей алады.

Shepherd негізгі инициализация жүйесі ретінде де (PID 1-мен іске қосу), сондай-ақ жеке пайдаланушылардың фондық процестерін басқару үшін (мысалы, tor, privoxy, mcron және т. бұл пайдаланушылар. Shepherd қызметтерді қосу және тоқтату жұмысын қызметтер арасындағы қарым-қатынастарды ескере отырып, таңдалған қызмет тәуелді қызметтерді динамикалық түрде анықтау және іске қосу арқылы орындайды. Shepherd сонымен қатар қызметтер арасындағы қайшылықтарды анықтауды және олардың бір уақытта жұмыс істеуіне жол бермеуді қолдайды.

Негізгі инновациялар:

  • Make-kill-destructor процестер тобын өлтіруді жүзеге асырады;
  • PID файлын жасау үшін күту уақытын анықтайтын «әдепкі-pid-файл-тайм-аут» параметрі қосылды;
  • Егер PID файлы күту уақытында пайда болмаса, бүкіл процесс тобы тоқтатылады (шешім проблема жұмыс процестерін PID файлсыз қалдыру);
  • «make-forkexec-constructor» параметріне «#:file-creation-mask» параметрі қосылды, журнал файлын жасау жүзеге асырылды және ескі шақыру конвенциясына қолдау көрсетілмейді;
  • GNU/Hurd сияқты prctl жоқ жүйелерде құрастыру мәселелері шешілді;
  • SIGALRM әр секунд сайын жіберілетін мәселе түзетілді.

Ақпарат көзі: opennet.ru

пікір қалдыру