You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ARM嵌入式设备上lirc_monitor输出无法重定向至文件的求助

ARM嵌入式设备lirc_monitor输出重定向为空的排查思路

在ARM嵌入式设备上运行lirc_monitor监控按键输入时,尝试将程序输出重定向至文件,但目标文件始终为空,可按以下思路排查:

  • 检查输出流向标准错误:很多程序会把实时输出打到stderr(标准错误),默认的>仅重定向stdout(标准输出)。尝试同时重定向两者:

    lirc_monitor > output.log 2>&1
    

    或用合并写法:

    lirc_monitor &> output.log
    
  • 禁用输出缓冲:嵌入式环境下程序可能启用全缓冲,导致输出不会立即写入文件。强制禁用缓冲:

    stdbuf -o0 -e0 lirc_monitor > output.log 2>&1
    

    若系统有unbuffer工具,也可使用:

    unbuffer lirc_monitor > output.log 2>&1
    
  • 验证文件路径权限:确保目标文件路径有读写权限,可先尝试写入/tmp目录(通常全局可写):

    lirc_monitor > /tmp/lirc_output.log 2>&1
    
  • 确保程序持续运行:若后台运行程序,终端关闭可能导致进程终止,用nohup让程序脱离终端:

    nohup lirc_monitor > output.log 2>&1 &
    
  • 追踪程序输出行为:用strace查看程序实际输出的文件描述符:

    strace -e write lirc_monitor
    

    从输出中找write(1, "...")(对应stdout)或write(2, "...")(对应stderr)的记录,确认输出流向。

  • 测试基础重定向功能:先验证简单命令的重定向是否正常,排查系统层面问题:

    echo "test" > test.log
    

    若此命令也无法写入,需检查文件系统是否只读、shell环境是否异常。


lirc_monitor输出示例

-sh-3.2# lirc_monitor 
{lirc monitor}: 0000000000000000 00 CURSOR_DOWN MTK_IR

{lirc monitor}: 0000000000000000 00 CURSOR_DOWN MTK_IR

{lirc monitor}: 0000000000000000 00 CURSOR_DOWN MTK_IR

{lirc monitor}: 0000000000000000 00 CURSOR_DOWN MTK_IR

{lirc monitor}: 0000000000000000 00 CURSOR_DOWN MTK_IR

{lirc monitor}: 0000000000000000 00 CURSOR_DOWN MTK_IR

内容的提问来源于stack exchange,提问作者jasko887

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:07:09