Lansarea sistemului GNU Shepherd 0.8 init

Disponibil manager de servicii GNU Shepherd 0.8 (ex dmd), care este dezvoltat de dezvoltatorii distribuției GNU Guix System ca o alternativă conștientă de dependență la sistemul SysV-init. Daemonul de control Shepherd și utilitățile sunt scrise în limbajul Guile (una dintre implementările limbajului Scheme), care este, de asemenea, folosit pentru a defini setările și parametrii pentru pornirea serviciilor. Shepherd este deja folosit în distribuția GuixSD GNU/Linux și este, de asemenea, destinat utilizării în GNU/Hurd, dar poate rula pe orice sistem de operare compatibil POSIX pentru care este disponibil limbajul Guile.

Shepherd poate fi utilizat atât ca sistem de inițializare principal (init cu PID 1), cât și într-o formă separată pentru a gestiona procesele de fundal ale utilizatorilor individuali (de exemplu, pentru a rula tor, privoxy, mcron etc.) cu execuție cu drepturi de acești utilizatori. Shepherd face munca de pornire și oprire a serviciilor ținând cont de relația dintre servicii, determinând și pornind dinamic serviciile de care depinde serviciul selectat. Shepherd acceptă, de asemenea, detectarea conflictelor între servicii și le împiedică să ruleze concomitent.

Principalele inovații:

  • Make-kill-destructor implementează uciderea unui grup de procese;
  • S-a adăugat parametrul „default-pid-file-timeout”, care determină timpul de așteptare pentru crearea unui fișier PID;
  • Dacă fișierul PID nu apare în timpul expirării, întregul grup de procese este terminat (decide problemă lăsarea proceselor de lucru fără fișier PID);
  • S-a adăugat parametrul „#:file-creation-mask” la „make-forkexec-constructor”, a implementat crearea fișierului jurnal și a încetat să mai suporte vechea convenție de apelare;
  • Probleme rezolvate cu compilarea pe sisteme fără prctl, cum ar fi GNU/Hurd;
  • S-a rezolvat o problemă care a făcut ca SIGALRM să fie trimis în fiecare secundă.

Sursa: opennet.ru

Adauga un comentariu