Saya telah menggunakan Daemontools untuk menyediakan cara yang sederhana dan dapat diandalkan untuk mengawasi layanan Unix di server saya. Ini bekerja dengan baik, tetapi membutuhkan cara berpikir yang berbeda ( The DJB Way ) dan beberapa keluhan umum adalah:
- Stempel waktu TAI64N
- Tidak menyimpan skrip di bawah /etc/init.d (atau (/usr/local)/etc/rc.d)
- Tidak selalu bekerja dengan skrip seperti apachectl. Beberapa skrip perlu ditulis ulang.
Saya ingat bahwa beberapa "dasmon" pengawas / pengawas "serupa sedang bekerja sekitar dua tahun yang lalu, tetapi beberapa masih sedikit kasar di tepinya.
Jika Anda telah beralih dari Daemontools ke sesuatu yang lain, apa yang Anda pilih dan apakah itu bekerja dengan baik untuk Anda? Apakah RedHat atau Ubuntu datang dengan utilitas pengawas proses apa pun secara default?
sumber
runsv
perintah darirunit
mendukung kontrol khusus, sehingga restart dapat diimplementasikan dalam hal binari kontrol asli daemon.Nah, ada runit . Saya tidak bisa memberi tahu Anda apa perbedaan dan persamaannya dengan daemontools, tetapi jika dilihat dari situs web Berstein-esque, saya akan mengatakan ada pengaruh Bernstein yang pasti.
sumber
Fedora tampaknya siap untuk beralih ke systemd: http://0pointer.de/blog/projects/systemd.html
sumber
Sebagai alternatif dari yang telah disebutkan
daemonize
dandaemontools
, ada perintah daemon dari paket libslack.daemon
cukup dapat dikonfigurasi dan tidak peduli tentang semua hal daemon yang membosankan seperti restart otomatis, logging atau penanganan pidfile.sumber
Ada pengawas
sumber
Ada juga alat daemon libslack yang ditulis dalam C dan tersedia untuk berbagai platform (Unix).
Ini sangat dapat dikonfigurasi dan peduli tentang semua hal daemon yang membosankan seperti restart otomatis, logging atau penanganan pidfile.
sumber
Ubuntu hadir dengan Upstart - Saya tidak tahu banyak tentang itu tetapi saya tahu itu memang memiliki kemampuan "penyelia". Launchd Apple adalah pilihan lain (artikel Wikipedia memiliki bagian "lihat juga" yang bagus yang mencantumkan juga banyak yang lain, termasuk Upstart & RunIt).
Semuanya memiliki poin bagus dan merek khusus übersuck - Setiap kali seseorang bertanya kepada saya tentang program "pengawas proses" / "anjing penjaga", saya selalu menanyakan pertanyaan yang sama: Mengapa Anda memerlukannya?
sumber
Tidak ada alat populer / konsensus komunitas untuk ini karena setiap orang yang melewati jalan ini menyadari jalan buntu. Jika proses lama Anda gagal terlalu sering untuk pemantauan sederhana menjadi cukup baik, maka berhentilah menggunakannya dan pindahkan kode Anda ke dalam sesuatu yang akan lebih didorong oleh peristiwa.
sunting: seperti yang ditunjukkan Chris di bawah, kadang-kadang Anda benar-benar terpojok, dalam hal ini tugas cron * / 1 yang mencari proses / pidfile, menjalankan start / restart jika tidak ada, dan menampilkan hasilnya dalam email ke penanggung jawab pengembang / manajer produk adalah posisi mundur Anda.
sumber