Keluaran sistem init GNU Shepherd 0.6

Dikemukakan oleh Pengurus Perkhidmatan GNU Shepherd 0.6 (bekas dmd), yang sedang dibangunkan oleh pembangun pengedaran GuixSD GNU/Linux sebagai alternatif yang menyokong pergantungan kepada sistem permulaan SysV-init. Daemon dan utiliti kawalan Shepherd ditulis dalam bahasa Guile (salah satu pelaksanaan bahasa Skim), yang juga digunakan untuk menentukan tetapan dan parameter untuk melancarkan perkhidmatan. Shepherd telah digunakan dalam pengedaran GuixSD GNU/Linux dan juga bertujuan untuk digunakan dalam GNU/Hurd, tetapi boleh dijalankan pada mana-mana OS yang mematuhi POSIX yang bahasa Guile tersedia.

Shepherd boleh digunakan sebagai sistem permulaan utama (init dengan PID 1), dan dalam bentuk berasingan untuk mengurus proses latar belakang pengguna individu (contohnya, untuk menjalankan tor, privoxy, mcron, dll.) dengan pelaksanaan dengan hak pengguna ini. Shepherd melakukan kerja memulakan dan menghentikan perkhidmatan dengan mengambil kira perhubungan antara perkhidmatan, mengenal pasti dan memulakan perkhidmatan yang bergantung kepada perkhidmatan yang dipilih secara dinamik. Shepherd juga menyokong pengesanan konflik antara perkhidmatan dan menghalangnya daripada berjalan serentak.

Inovasi utama:

  • Mod perkhidmatan ditambah satu pukulan,
    di mana perkhidmatan ditanda berhenti serta-merta selepas pelancaran yang berjaya, yang mungkin diperlukan untuk menjalankan kerja sekali sebelum perkhidmatan lain, contohnya, untuk melakukan pembersihan atau permulaan;

  • Memastikan bahawa fail dengan soket dipadamkan selepas penutupan
    gembala;

  • Perintah "herd stop" tidak lagi memaparkan ralat apabila dilaksanakan pada perkhidmatan yang telah dihentikan;
  • Utiliti kumpulan kini mengembalikan kod pulangan bukan sifar jika pelancaran tugas gagal;
  • Apabila berjalan dalam bekas, ralat berkaitan pemuatan diabaikan.

Sumber: opennet.ru

Tambah komen