teenusehaldur (), mida arendavad GNU Guix Sistemi distributsiooni arendajad kui toetav sõltuvus alternatiiviks SysV-init süsteemile. Halduseemoni ja Shepherdi utiliidid on kirjutatud Guile'i keeles (Scheme'i üks rakendusi), mida kasutatakse samamoodi teenuste seadete ja käivitamise parameetrite määramiseks. Shepherdit rakendatakse juba GuixSD GNU/Linuxis ja eesmärk on kasutada seda ka GNU/Hurdis, kuid see toimib igas POSIX-i ühilduvas operatsioonisüsteemis, mille jaoks on saadaval Guile'i keel.
Shepherdit saab kasutada nii põhise algkäitusena (init c PID 1) kui ka eraldiseisvalt, et hallata üksikute kasutajate taustprotsesse (näiteks tor, privoxy, mcron jne), tehes seda kasutajate õigustes. Shepherd teostab teenuste käivitamis- ja sulgemistööd, arvestades teenustevahelisi seoseid, ning määrab dünaamiliselt ja käivitab teenuseid, mille osas valitud teenus sõltub. Shepherd toetab ka teenustevaheliste konfliktide määratlemist ja takistab nende samaaegset käivitamist.
Peamised uuendused:
- Make-kill-destructor on the implementation of killing a group of processes;
- A parameter ‘default-pid-file-timeout’ has been added, which defines the waiting time for the creation of the PID file;
- If the PID file does not appear within the timeout, the entire group of processes is terminated (resolving the issue of leaving worker processes without a PID file);
- In ‘make-forkexec-constructor’, a parameter ‘#:file-creation-mask’ has been added, implementing the creation of log files and ending support for the old call agreement;
- Compilation issues on systems without prctl, such as GNU/Hurd, have been resolved;
- A flaw that caused SIGALRM to be sent every second has been eliminated.
Allikas: opennet.ru
