Нашри системаи GNU Shepherd 0.8 init

Дастрас мудири хизматрасонй GNU чӯпон 0.8 (собиқ dmd), ки аз ҷониби таҳиягарони тақсимоти GNU Guix System ҳамчун алтернативаи огоҳ аз вобастагӣ ба системаи ибтидоии SysV-init таҳия шудааст. Демон ва утилитаҳои назоратии Shepherd бо забони Guile (яке аз татбиқи забони схема) навишта шудаанд, ки он инчунин барои муайян кардани танзимот ва параметрҳои оғози хидматҳо истифода мешавад. 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

Илова Эзоҳ