2013-09-27 201 views
12

Theo signal(7), SIGHUP được sử dụng để phát hiện tình trạng gác máy khi điều khiển thiết bị đầu cuối hoặc chết của quá trình kiểm soát.SIGHUP để tải lại cấu hình

Tuy nhiên, tôi đã gặp rất nhiều các dịch vụ (dịch vụ) OSS, trong đó SIGHUP được sử dụng để bắt đầu tải lại cấu hình. Dưới đây là một vài ví dụ: hostapd, sshd, snort v.v.

Đây có phải là cách chuẩn (hoặc được chấp nhận chung) để thực hiện tải lại không? Nếu không, bạn nên làm gì?

Trả lời

18

SIGHUP là thông báo về sự kiện đóng terminal không có ý nghĩa đối với một daemon, bởi vì deamons được tách ra khỏi thiết bị đầu cuối của chúng. Vì vậy, hệ thống sẽ không bao giờ gửi tín hiệu này cho họ. Sau đó, thực hành phổ biến cho các trình tiện ích để sử dụng nó theo nghĩa khác, thường tải lại cấu hình của daemon. Đây không phải là quy tắc, chỉ là một quy ước. Đó là lý do tại sao nó không được ghi trong manpage.

Xem mục wikipedia cho SIGHUP và từ đó, a longer description with implementation example

3

Theo kinh nghiệm của tôi, SIGHUP thường được sử dụng để yêu cầu daemon tải lại cấu hình của nó. Sử dụng kỹ thuật nổi tiếng này theo nguyên lý ít ngạc nhiên nhất. Người dùng của bạn có thể gặp phải các daemon thực hiện chính xác điều này, vì vậy họ sẽ hiểu ngay ý nghĩa của SIGHUP đối với daemon của bạn.