2012-10-19 89 views
0

爲了在控制檯上打印這個meesage,我用kill -SIGKILL <pid>命令殺死了klogd並重新啓動了klogd klogd -s -c 2 我仍然在控制檯上看不到消息。我在這裏錯過什麼? 在此先感謝。在控制檯上的linux kprint消息

printk(KERN_ALERT "Hello World\n"); 

回答

1

您必須確保您處於完全終端模式(按Alt + Ctrl + f2或f3)而不是圖形模式。

然後檢查是否在/ proc/SYS /內核/ printk的是具有正確的值

# cat /proc/sys/kernel/printk

4 4 1 7

my current setting are above. You can use echo 8 > /proc/sys/kernel/printk to print everything. for kern_alert 4 is enough.

for testing you can use below from full terminal mode.

#echo "<1>Writing critical printk messages from userspace" >/dev/kmsg

這將打印到終端

http://elinux.org/Debugging_by_printing

KERN_ALERT帶有打印到當前的終端而kern_emerg將打印到所有終端。

0

另外看看你的syslog.conf(或者等價物)中的優先級,告訴你在查看/ var/log/messages時將記錄什麼級別。您的設置可能...

#define KERN_EMERG "<0>" /* system is unusable    */   
#define KERN_ALERT "<1>" /* action must be taken immediately */ 
#define KERN_CRIT "<2>" /* critical conditions    */ 
#define KERN_ERR  "<3>" /* error conditions     */ 
#define KERN_WARNING "<4>" /* warning conditions    */ 
#define KERN_NOTICE "<5>" /* normal but significant condition */ 
#define KERN_INFO "<6>" /* informational     */ 
#define KERN_DEBUG "<7>" /* debug-level messages    */