>>此贴的回复>>printk(KERN_ALERT"Hello!");orprint、printk的问题、Linux文化、Linux教程">
当前位置:Linux教程 - Linux文化 - printk的问题

printk的问题


为什么编写2.6.13内核模块时用 int init_module() { printk("Hello!"); return 0; } 在控制台上没有显示出Hello!

>>> 此贴的回复 >> printk(KERN_ALERT "Hello!"); or printk(KERN_EMERG "Hello!");

>>> 此贴的回复 >> 看书仔细点呀, linux下有内核日志守护进程,专门把内河信息写就日志里,你可以打开日志文件看到,或者cat /proc/kmsg

>>> 此贴的回复 >> dmesg

tail -n 10 /var/log/messages

>>> 此贴的回复 >> nicelcp(广州大学城)是对的,用你的那种形式,也应该放在引号外面的,还不行就看看你系统的日志级别,默认应该是3

>>> 此贴的回复 >> linux内核的日志有优先级的,控制台也有log_level。当printk的log_level低于控制台,就不会被打印出来。 执行echo 8 /proc/sys/kernel/printk将控制台级别设置为最高。 printk(KERN_EMERG"hello word"); 你试试看。

printk的log_level由高到低有: KERN_EMERG KERN_ALERT KERN_CRIT KERN_ERR KERN_WARNING KERN_NOTICE KERN_INFO KERN_DEBUG八个。 详见

>>> 此贴的回复 >> 进字符界面运行就看到了,ssh和telnet连接都看到不到的

>>> 此贴的回复 >> sysctl -w kernel.printk="8 8 8 8" 执行你的程序试试