【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隐藏窗口弹出

参考代码

bash 复制代码
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")
相关推荐
梦丶晓羽6 分钟前
自然语言处理:最大期望值算法
人工智能·python·自然语言处理·高斯混合模型·最大期望值算法
君科程序定做2 小时前
PDFMathTranslate安装使用
python
Linzerox3 小时前
Pycharm 取消拼写错误检查(Typo:in word xxx)
python·pycharm
千里码aicood3 小时前
[含文档+PPT+源码等]精品基于Python实现的校园小助手小程序的设计与实现
开发语言·前端·python
Icomi_4 小时前
【神经网络】0.深度学习基础:解锁深度学习,重塑未来的智能新引擎
c语言·c++·人工智能·python·深度学习·神经网络
蠟筆小新工程師4 小时前
Deepseek可以通过多种方式帮助CAD加速工作
开发语言·python·seepdeek
movee4 小时前
一台低配云主机也能轻松愉快地玩RDMA
linux·人工智能·后端
NoBarLing4 小时前
python将目录下的所欲md文件转化为html和pdf
python·pdf·html
岱宗夫up4 小时前
【Python】Django 中的算法应用与实现
数据库·python·opencv·django·sqlite
kyle~5 小时前
linux根目录
linux·服务器