Tôi đang tìm kiếm một cách tiêu chuẩn hoặc thực hành tốt nhất để giữ một daemon bắt đầu bằng một init.d
kịch bản shell.
Hoặc thậm chí tốt hơn, có cách nào để giữ cho nó sống trực tiếp từ /etc/init.d
?
Cụ thể, tôi có một daemon được gọi là dtnd với và vòng lặp vô hạn tìm kiếm quá trình kết thúc bất ngờ, nếu có bất kỳ, daemon đánh thức chúng một lần nữa. Ngoài ra, tôi sử dụng công cụ start-stop-daemon để cho phép các điều kiện tiên quyết bằng cách chạy từ một người dùng hệ thống nhất định.
Tôi muốn chạy daemon dtnd này từ khi khởi động. Để đạt được hành vi này, tôi đã tạo một tập lệnh init.d "bọc" tệp dtnd bằng các lệnh start, stop và status.
Tôi có 2 câu hỏi mà tôi muốn giải quyết:
Có cách nào để đạt được một số quy trình từ tập lệnh shell init.d. Là một cách thực hành tiêu chuẩn / tốt nhất?
Bạn nên giữ một quá trình sống với vòng lặp vô hạn? Tôi đoán tốt hơn là sử dụng một số lệnh như
respawn
để đạt được điều đó. Đúng?
Tôi biết về sự tồn tại của respawn
lệnh. Tôi nghĩ đó là những gì tôi cần nhưng tôi không hiểu quy trình làm việc giữa /etc/init.d/
và /etc/init
. Ai giúp tôi với?
Lưu ý rằng tôi không có inittab không phải mới nổi (tôi chỉ được phép sử dụng /etc/init
, /etc/init.d
, cron
và các công cụ hệ thống như start-stop-daemon
. Ý tôi là, chỉ những công cụ mặc định)
Cảm ơn bạn rất nhiều vì thời gian của bạn!