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

【python】subprocess.Popen执行adb shell指令进入linux系统后连续使用指令,出现cmd窗口阻塞问题

问题描述

subprocess.Popen执行adb shell指令进入linux系统后出现cmd窗口阻塞问题,需要手动关闭cmd才会继续执行其他指令。

解决方案

1、cmd指令后面加入exit\n关闭exe进程
2、subprocess.Popen()添加内置参数creationflags=subprocess.CREATE_NO_WINDOW隐藏窗口弹出

参考代码

import subprocess
import os
def command(cmd):
    try:
        process =subprocess.Popen(["adb","shell"], shell=False, stdout=subprocess.PIPE, stdin=subprocess.PIPE, stderr=subprocess.STDOUT, creationflags=subprocess.CREATE_NO_WINDOW)
        outs,error= process.communicate((cmd+'exit\n').encode())
        content = [z.strip() for z in outs.decode("gbk").split("\n") if z]
        print(*content,sep="\n")
    except Exception as e:
        process.kill()
        print(e, e.__traceback__.tb_lineno, '行')
        
command("grep 'app_id = 17' mnt/log/rmu.log\n")

http://www.kler.cn/a/517484.html

相关文章:

  • 物业管理平台系统提升社区智能化服务效率与管理水平
  • 16.好数python解法——2024年省赛蓝桥杯真题
  • 【pytorch 】miniconda python3.11 环境安装pytorch
  • redis分布式锁
  • 逐笔成交逐笔委托Level2高频数据下载和分析:20250124
  • 每日十题八股-2025年1月24日
  • 总结与展望,龙蜥社区第 30 次运营委员会会议线上召开
  • 探究 Facebook 隐私安全发展方向,未来走向何方?
  • 深度学习算法:从基础到实践
  • RV1126画面质量三:QP调节
  • 实现GD32F470作为高速USB主机与USB鼠标通信的功能
  • uart、iic、spi通信总线
  • npm:升级自身时报错:EBADENGINE
  • 微前端架构在前端开发中的实践与挑战
  • 基于微信小程序的校园失物招领系统设计与实现(LW+源码+讲解)
  • 批量修改图片资源的属性。
  • 完全二叉树的节点个数(力扣222)
  • unity 粒子系统设置触发
  • dfs专题五:FloodFill算法
  • react中hooks之 React 19 新 Hooks useOptimistic
  • linux系统下的磁盘扩容
  • 前端知识——HTML基础
  • ⚡C++ 中 std::transform 函数深度解析:解锁容器元素转换的奥秘⚡【AI 润色】
  • 低代码开发中的开源与闭源之争
  • 分数之和(题解)
  • 无人机的应用场景有哪些?