2013-05-31 34 views
24

Tôi ngạc nhiên không để có thể tìm thấy bất kỳ tài liệu liên quan đến việc sử dụng đúng đắn của các chức năng:Làm thế nào để sử dụng đúng log_daemon_msg, log_end_msg, log_progress_msg để viết một kịch bản daemon thích hợp?

log_daemon_msg 
log_progress_msg 
log_end_msg 
log_action_msg 
log_success_msg 
log_failure_msg 
log_warning_msg 

tôi có thể tìm thêm thông tin về việc sử dụng của họ và chức năng có liên quan có thể khác ở đâu?

Lưu ý, tôi đã tìm thấy chúng bên trong /lib/lsb/init-functions nhưng tài liệu hướng dẫn về việc sử dụng chúng hầu như bị thiếu.

+1

Tốt câu hỏi. Tôi đã cố gắng tìm tài liệu về chủ đề này quá – alfredocambera

Trả lời

11

Tôi nghĩ rằng đây là những gì bạn đang tìm kiếm:

http://refspecs.linuxbase.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptfunc.html

Tôi đã đọc rất nhiều init script trên debian khò khè nhưng không có vẻ là một cách thống nhất của việc tạo ra init tập lệnh. Một số người sử dụng echo thay vì log_warning_msg hoặc log_failure_msg.

Lưu ý: /lib/lsb/init-functions dường như không hoạt động tốt dưới dạng bash. Vì vậy, hãy nhớ sử dụng công việc thích hợp:

#!/bin/sh 
+2

Chúng hoạt động tốt cho tôi theo bash :) – sorin

+3

Thông số LSB không bao gồm log_progress_msg – Abdull

+0

Cũng không phải 'log_end_msg' – rschwieb

1

chỉ cần cố gắng để kiểm tra rằng với bất kỳ kịch bản:

vim 123.sh

#!/bin/sh 
. /lib/lsb/init-functions 

[ 1 != 2 ] && log_end_msg 1 

Vì vậy `ve bao gồm funcs từ/lib/LSB/init-functions.

Và thực hiện:

bash 123.sh 
    ...fail! 

Và như vậy:

cat 123.sh 
#!/bin/sh 
. /lib/lsb/init-functions 

[ 1 != 2 ] && log_end_msg 0 

Và chạy:

bash 123.sh 
    ...done.