【问题标题】:Redirect printf/printk message to file将 printf/printk 消息重定向到文件
【发布时间】:2018-07-22 13:56:56
【问题描述】:

我想将通过 printf/print 调用的消息复制到一个文件中,保持 printf/printk 的原始行为相同。环境包含多个正在运行的进程和调用的 printf/printk 函数调用。 我想实现上述目标,尽可能减少对每个二进制文件的更改。

提前致谢!!!

【问题讨论】:

  • 改用tee
  • 你真的是指printk吗?你在做 Linux 内核编程吗? (如果是这样,您的消息可能已经进入/var/log 中的文件。)
  • printf printk??
  • 我知道 tee 命令,我正在寻找的是,我的系统有 N 个正在运行的进程使用 printf/printk 调用,我只需复制消息并将其发送到自定义文件,保持原来的行为不变。如果我使用 tee,每个二进制文件都必须用管道分叉,然后是 tee 和文件名测试 |三通 test.txt 。有没有其他方法,我想写 printf/printk 包装器并使用库预加载它??
  • 使用串行控制台(或 telnet/ssh ?),然后通过终端仿真程序(例如 minicom 或 TeraTerm)使用内置的记录/记录功能记录所有控制台输出。

标签: c linux linux-kernel printf printk


【解决方案1】:

不要在程序中这样做,而是在运行程序时在控制台中进行。

然后您可以使用tee 程序将标准输出重定向到文件:

./your_program | tee some_file

这将导致您的程序的输出同时写入文件标准输出。

【讨论】:

  • 谢谢!!!,但我知道 tee 命令,我正在寻找的是,我的系统有 N 个正在运行的进程使用 printf/printk 调用,我只需要复制消息并将其发送到自定义文件,保持原始行为相同。如果我使用 tee,每个二进制文件都必须用管道分叉,然后是 tee 和文件名测试 |三通 test.txt 。有没有其他方法,我想写 printf/printk 包装器并使用库预加载它??
猜你喜欢
  • 1970-01-01
  • 2019-05-27
  • 2017-05-31
  • 2014-01-25
  • 2018-03-25
  • 2022-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多