首页 > 解决方案 > 如何从 Java 代码中的终端(Ubuntu)输出读取(输出永不结束/退出)

问题描述

Ubuntu 19.10 使用 inellij 最新版本 Java

目的:使用java代码使用终端监控和验证android设备上的测试,例如android设备上的tcpdump命令Logcat命令等,

问题是如果输出总是听/写java无法获取字符串,只有当我关闭终端(ctrl c)然后java立即获取字符串,

我需要的是获取终端提供的实时输出,似乎终端被锁定,我知道我需要打开一个套接字连接来实时读取输出?

任何帮助将不胜感激

标签: javaandroidsocketsterminal

解决方案


对于tcpdump,请使用--immediate-mode命令行选项。

--立即模式

以“立即模式”捕获。在这种模式下,数据包一到达就被传递到 tcpdump,而不是为了提高效率而进行缓冲。如果数据包被打印到终端而不是文件或管道,这是打印数据包而不是将数据包保存到“保存文件”时的默认设置。


推荐阅读