当前位置: 首页 > news >正文

unbuffer禁用输出缓存,实现实时打印解决日志乱序

来源: “码农不会写诗”公众号
链接:unbuffer禁用输出缓存,实现实时打印解决日志乱序

文章目录

  • 01 简介
  • 02 安装
  • 03 使用

unbuffer

  unbuffer是一个绕过Unix缓冲机制,实现实时显示标准输出流和标准错误流的命令行工具,在实时监控长时间运行进程或者进行复杂输出(多个不同流)log分析时都非常有用。


01 简介

unbuffer通过设置stdout和stderr的文件描述符属性关闭Unix输出流的缓冲机制,确保数据不存储在缓冲区中,强制命令的输出在每次写操作时立即刷新到终端。

unbuffer是调试和实时监控脚本或程序输出的有用工具,特别是在处理大量数据流时。

简单来说,在复杂输出流(复杂程序、软件、APP等)场景下,出现日志打印顺序跟预期不一致现象时,不妨一试。

02 安装

sudo apt-get update
sudo apt-get install expect -y

03 使用

unbuffer使用非常之简单,只需将其放在命令前即可

# unbuffer program [ args ]
unbuffer ls
unbuffer echo "This will be displayed immediately"
unbuffer python3 test.py

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 谷歌浏览器字体模糊不清怎么办
  • SQL高级编程:掌握自定义函数和过程的艺术
  • 牛客面经学习笔记(三)
  • 【Go语言初探】(三)、运行程序报错:Cannot find package “xxx“
  • 复习之 java 锁
  • CMake详解-捡重要的讲
  • 【漏洞复现】某某康达vpn——list_base_config.php——命令执行
  • Qt Xlsx使用教程、Qt操作Excel、Qt生成Excel图表、跨平台不依赖Office 直接使用源码
  • 优化业务流程的关键:深入探讨BPA流程设计
  • qt-11基本对话框(消息框)
  • 【图形验证和AI智能及CHATGPT对抗影响的是用户体验】
  • 【大模型系列篇】Transformers综述--邱锡鹏
  • react的setState中为什么不能用++?
  • pygame开发课程系列(4): 游戏元素
  • 怎么直接在PDF上修改内容?随心编辑PDF内容
  • 【技术性】Search知识
  • 2018一半小结一波
  • JavaScript DOM 10 - 滚动
  • JDK9: 集成 Jshell 和 Maven 项目.
  • PAT A1092
  • SQLServer之索引简介
  • vue数据传递--我有特殊的实现技巧
  • 开源SQL-on-Hadoop系统一览
  • 判断客户端类型,Android,iOS,PC
  • 前端工程化(Gulp、Webpack)-webpack
  • 智能网联汽车信息安全
  • 仓管云——企业云erp功能有哪些?
  • ​数据链路层——流量控制可靠传输机制 ​
  • # 数论-逆元
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (07)Hive——窗口函数详解
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (回溯) LeetCode 131. 分割回文串
  • (十) 初识 Docker file
  • (四)linux文件内容查看
  • (四)软件性能测试
  • (学习日记)2024.01.19
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)scrum常见工具列表
  • (最新)华为 2024 届秋招-硬件技术工程师-单板硬件开发—机试题—(共12套)(每套四十题)
  • .env.development、.env.production、.env.staging
  • .NET 4.0中的泛型协变和反变
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Windows:删除文件夹后立即判断,有可能依然存在
  • .NET命令行(CLI)常用命令
  • @GetMapping和@RequestMapping的区别
  • @javax.ws.rs Webservice注解
  • @selector(..)警告提示
  • [].slice.call()将类数组转化为真正的数组