发现内核模块中的printk打印没有及时输出。如下方语句:
printk(KERN_ERR "%s called!",__func__);
如果在终端中echo一个数据到kmsg中,立即显示出来了。为什么呢? 因为上方的printk打印输出缺少换行符‘\n’,导致不能刷新出来。
![]()
把printk语句增加上\n换行符后,打印及时输出。
总结: 内核打印函数,需要在打印语句的结尾增加换行符,以便输出。
本文揭示了内核 printk 函数的使用细节,强调了在 printk 打印语句末尾添加换行符的重要性,以确保打印信息能够被及时刷新并显示。通过对比有无换行符的 printk 输出行为,解释了为何缺少换行符会导致打印信息滞留。
发现内核模块中的printk打印没有及时输出。如下方语句:
printk(KERN_ERR "%s called!",__func__);
如果在终端中echo一个数据到kmsg中,立即显示出来了。为什么呢? 因为上方的printk打印输出缺少换行符‘\n’,导致不能刷新出来。
![]()
把printk语句增加上\n换行符后,打印及时输出。
总结: 内核打印函数,需要在打印语句的结尾增加换行符,以便输出。
618
1345
2414
3721
2377
7046

被折叠的 条评论
为什么被折叠?