Rhyddhau system init GNU Shepherd 0.8

Ar gael rheolwr gwasanaeth Bugail GNU 0.8 (cyn dmd), sy'n cael ei ddatblygu gan ddatblygwyr dosbarthiad System GNU Guix fel dewis arall sy'n ymwybodol o ddibyniaeth yn lle system cychwyn SysV-init. Mae'r ellyll rheoli Shepherd a'r cyfleustodau wedi'u hysgrifennu yn yr iaith Guile (un o weithrediadau iaith y Cynllun), a ddefnyddir hefyd i ddiffinio gosodiadau a pharamedrau ar gyfer lansio gwasanaethau. Mae Shepherd eisoes yn cael ei ddefnyddio yn y dosbarthiad GNU/Linux GuixSD ac mae hefyd wedi'i anelu at ei ddefnyddio yn GNU/Hurd, ond gall redeg ar unrhyw OS sy'n cydymffurfio â POSIX y mae'r iaith Guile ar gael ar ei gyfer.

Gellir defnyddio Shepherd fel y brif system gychwyn (init gyda PID 1), ac ar ffurf ar wahân i reoli prosesau cefndir defnyddwyr unigol (er enghraifft, i redeg tor, privoxy, mcron, ac ati) gyda gweithredu gyda hawliau y defnyddwyr hyn. Mae Shepherd yn gwneud y gwaith o gychwyn a stopio gwasanaethau trwy gymryd i ystyriaeth y berthynas rhwng gwasanaethau, gan nodi a chychwyn yn ddeinamig y gwasanaethau y mae'r gwasanaeth a ddewiswyd yn dibynnu arnynt. Mae Shepherd hefyd yn cefnogi canfod gwrthdaro rhwng gwasanaethau a'u hatal rhag rhedeg ar yr un pryd.

Prif arloesiadau:

  • Offer gwneud-lladd-dinistrydd lladd grŵp o brosesau;
  • Ychwanegwyd paramedr “default-pid-file-timeout”, sy'n pennu'r amser aros ar gyfer creu ffeil PID;
  • Os na fydd y ffeil PID yn ymddangos o fewn y terfyn amser, bydd y grŵp proses cyfan yn cael ei derfynu (yn penderfynu y broblem gadael prosesau gwaith heb ffeil PID);
  • Ychwanegwyd paramedr “#:file-creation-mask” i “make-forkexec-constructor”, creu ffeil log a rhoi'r gorau i gefnogi'r hen gonfensiwn galw;
  • Wedi datrys problemau gyda chrynhoi ar systemau heb prctl, megis GNU/Hurd;
  • Wedi trwsio mater a achosodd i SIGALRM gael ei anfon bob eiliad.

Ffynhonnell: opennet.ru

Ychwanegu sylw