Linux
如何添加將使用 dmesg 讀取的消息?
我正在嘗試在我的 dmesg 輸出中編寫一些自定義消息。我試過了:
logger "Hello"
但這不起作用。它沒有錯誤地退出,但在以下輸出中沒有出現“Hello”:
dmesg
我使用的是 Fedora 9,似乎沒有執行 syslogd/klogd 守護程序。但是,我所有的核心消息都已成功寫入 dmesg 緩衝區。
任何想法?
dmesg
顯示核心緩衝區中的內容,而logger
用於syslogd
. 我認為如果您想將內容列印到核心緩衝區中,您將需要創建一個使用printk()
核心函式的驅動程序。如果你只是想要它/var/log/messages
,那麼使用“正常”設置我認為你所做logger
的已經很好了。驅動程序的最基本範例
printk()
是:你好ç:
#include <linux/module.h> #include <linux/kernel.h> int init_module(void) { printk(KERN_INFO "Hello world\n"); return 0; } void cleanup_module(void) { printk(KERN_INFO "Goodbye world\n"); }
生成文件:
obj-m += hello.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
然後:
$ make $ sudo insmod hello.ko $ dmesg | tail -n1 [7089996.746366] Hello world
http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html#AEN121了解更多…