Phát hành hệ thống GNU Shepherd 0.8 init

Có sẵn quản lý dịch vụ Người chăn cừu GNU 0.8 (cựu dmd), đang được phát triển bởi các nhà phát triển bản phân phối Hệ thống GNU Guix như một giải pháp thay thế nhận biết phụ thuộc cho hệ thống khởi tạo SysV-init. Trình nền và tiện ích điều khiển Shepherd được viết bằng ngôn ngữ Guile (một trong những cách triển khai ngôn ngữ Đề án), ngôn ngữ này cũng được sử dụng để xác định cài đặt và tham số cho việc khởi chạy dịch vụ. Shepherd đã được sử dụng trong bản phân phối GuixSD GNU/Linux và cũng nhằm mục đích sử dụng trong GNU/Hurd, nhưng có thể chạy trên bất kỳ HĐH tương thích POSIX nào có sẵn ngôn ngữ Guile.

Shepherd có thể được sử dụng làm hệ thống khởi tạo chính (init với PID 1) và ở dạng riêng biệt để quản lý các quy trình nền của từng người dùng (ví dụ: để chạy tor, Privoxy, mcron, v.v.) với việc thực thi với quyền của những người dùng này. Shepherd thực hiện công việc bắt đầu và dừng dịch vụ bằng cách tính đến mối quan hệ giữa các dịch vụ, xác định và khởi động động các dịch vụ mà dịch vụ được chọn phụ thuộc vào. Shepherd cũng hỗ trợ phát hiện xung đột giữa các dịch vụ và ngăn chúng chạy đồng thời.

Những đổi mới chính:

  • Make-kill-structor thực hiện việc tiêu diệt một nhóm tiến trình;
  • Đã thêm tham số “default-pid-file-timeout”, xác định thời gian chờ để tạo tệp PID;
  • Nếu tệp PID không xuất hiện trong thời gian chờ, toàn bộ nhóm quy trình sẽ bị chấm dứt (quyết định vấn đề rời khỏi quy trình làm việc mà không có tệp PID);
  • Đã thêm tham số “#:file-creation-mask” vào “make-forkexec-constructor”, triển khai việc tạo tệp nhật ký và ngừng hỗ trợ quy ước gọi cũ;
  • Giải quyết các vấn đề về biên dịch trên các hệ thống không có prctl, chẳng hạn như GNU/Hurd;
  • Đã khắc phục sự cố khiến SIGALRM được gửi mỗi giây.

Nguồn: opennet.ru

Thêm một lời nhận xét