LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1735|回复: 2

怎样才能把printk()的输出信息重定向到一个文件?

[复制链接]
发表于 2005-1-20 10:58:54 | 显示全部楼层 |阅读模式
我在一个内核module中加入了printk(),但怎样才能把printk()的输出信息重定向到一个文件呢?
我用:
insmod filename > 1.txt
insmod filename 2>&1 | cat > 1.txt

都不能把printk()的信息重定向到文件中。那么内核中是怎么做到输出到console和dmesg中的?
:help  :help  :help  :help
发表于 2005-1-20 13:44:18 | 显示全部楼层
你可以这样试试看!我没有做过!应该是可行的。
在你的模块这样做:

第一步:调用sys_close(),关闭标准输出!
第二步:紧接着调用sys_open(),打开你要重定向的文件"1.txt”,作为标准输出!

可以这样写:
{
     sys_close(1);                            //关闭标准输出!
     sys_open("1.txt",O_WRONLY,0);//重新打开标准输出!
}
回复 支持 反对

使用道具 举报

发表于 2005-1-20 16:01:39 | 显示全部楼层
这个问题不属于shell编程的范围,移到编程版

另外,楼上兄弟的做法我也赞同,楼主可以试下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表