免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: xiaozhe2000

何把内核中的信息打印到文件 [复制链接]

论坛徽章:
0
发表于 2006-04-20 14:47 |显示全部楼层
netfilter的hook点是在softirq的上下文中, 不可以睡眠(亦即:阻塞当前进程), 读写磁盘文件恰恰是可能导致睡眠的。

记得wheelz斑竹的建议是: 如果你一定要在softirq上下文中读写文件, 那么, 生成一个内核线程来做这件事。

论坛徽章:
0
发表于 2006-04-20 15:00 |显示全部楼层
哦,原来是这样啊!
内核线程没有写过,先去补补这方面的东西!
有什么问题再过来请教各位了!
谢谢

论坛徽章:
0
发表于 2006-04-20 15:15 |显示全部楼层
换成printk

论坛徽章:
0
发表于 2006-04-20 15:37 |显示全部楼层
之前写了个用printk的,但因为和许多别的信息混在messages里,所以才想把它单独写到别的文件中!

论坛徽章:
0
发表于 2006-04-20 15:40 |显示全部楼层
PRINTK的每行前加一个标志MYLOG,

然后grep到一个文件中不就可以了吗

论坛徽章:
0
发表于 2006-04-20 15:47 |显示全部楼层
这也是个不错的办法!!
马上试试去!
谢谢了

论坛徽章:
0
发表于 2006-04-20 16:11 |显示全部楼层
printk也不是放什么地方都可以。它调用wake_up_XXXXXXXX了。实验着看。

论坛徽章:
0
发表于 2006-04-20 16:40 |显示全部楼层
printk在哪里都可以用的

论坛徽章:
0
发表于 2006-04-20 16:53 |显示全部楼层
to alb,

放有些函数中不可以。比如和schedule()有关的函数,比如要switch context的许多地方,立即死机。
还有些地方(中断),理论上可以用,但实际随机地死机。

论坛徽章:
0
发表于 2006-04-21 09:51 |显示全部楼层
原帖由 思一克 于 2006-4-20 16:53 发表
to alb,

放有些函数中不可以。比如和schedule()有关的函数,比如要switch context的许多地方,立即死机。
还有些地方(中断),理论上可以用,但实际随机地死机。


以前没遇到过呢, 有空试验下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP