java - 如何从 Java 代码中的终端(Ubuntu)输出读取(输出永不结束/退出)
问题描述
Ubuntu 19.10 使用 inellij 最新版本 Java
目的:使用java代码使用终端监控和验证android设备上的测试,例如android设备上的tcpdump命令Logcat命令等,
问题是如果输出总是听/写java无法获取字符串,只有当我关闭终端(ctrl c)然后java立即获取字符串,
我需要的是获取终端提供的实时输出,似乎终端被锁定,我知道我需要打开一个套接字连接来实时读取输出?
任何帮助将不胜感激
解决方案
对于tcpdump
,请使用--immediate-mode
命令行选项。
--立即模式
以“立即模式”捕获。在这种模式下,数据包一到达就被传递到 tcpdump,而不是为了提高效率而进行缓冲。如果数据包被打印到终端而不是文件或管道,这是打印数据包而不是将数据包保存到“保存文件”时的默认设置。
推荐阅读
- c# - 对整数字段进行排序不起作用
- ios - 从另一个 ViewController Swift 4 访问对象(SQLite 表)
- c# - Xamarin 表单检查 Internet 连接
- wordpress - Wordpress 自定义按钮/动作自定义帖子类型
- reactjs - 是否可以将 Cookie 与 AWS Cognito 一起使用而不是 localStorage(使用 AppSync + React)
- arrays - Swift:线程 1:信号 SIGABRT(获取 AnyObject 的子节点)
- c# - 静态字典在用户之间共享
- javascript - 在谷歌浏览器扩展中放置日历/日期选择器
- sql - 带有“NULL”列的数字溢出 (0,3)
- angular - 邪恶的 CORS/CORB - Spring 和休眠、Springboot、Maven 和 Angular js 2,不起作用 - 允许访问控制来源