python - 使用 Python 的子进程读取通过 stdin 发送的阻塞命令的输出
问题描述
我有以下代码:
proc = subprocess.Popen(["adb", "shell"], stdout.subprocess.PIPE, subprocess.PIPE)
proc.stdin.write("cat /proc/kmsg")
该命令不断将数据输出到标准输出,我有兴趣在某个时间停止命令(CTRL-C)并读取整个输出数据。
现在我唯一能做的就是proc.stdout.readline()并希望下一行不是空的。
我有兴趣停止命令并阅读到目前为止我已经使用的所有行。
解决方案
只需打电话proc.kill()
完成proc.communicate()
阅读。
推荐阅读
- java - 如何获得正确的一年中的一周索引
- node.js - 节点 JS 异步/等待
- java - 与 Google Play 服务不兼容且 Firebase 版本无法正常工作
- ios - 带有 UITableView 的 contentView 不在 UIScrollView 内滚动
- swift - 如何不断查询最近的用户?
- node.js - 错误:尝试使用 Windows Powershell 创建新的 Angular 项目时,“操作被您的操作系统拒绝”
- arrays - 计算四个数组中的非零非 NaN
- python - 用Python中的另一个字符替换字符串中的多个字符
- eclipse - 在哪里可以找到 Hello World 示例插件项目的核心 Eclipse 插件?
- visual-studio - 无法通过 VSIX 或扩展安装 blazor