【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")
相关推荐
邪修king几秒前
Re:Linux系统篇(四):权限Chapter--用户身份、权限位与目录权限三大核心问题
linux·运维·服务器
郝学胜-神的一滴4 分钟前
Python 高级编程 026:序列内核深剖
开发语言·python·程序人生·软件工程
神奇霸王龙5 分钟前
Qwen3.7-Max屠榜:推理成本仅GPT-5.5的1/25
人工智能·python·gpt·ai·aigc·ai编程
渣男教父10 分钟前
Python-openpyxl操作Excel
python
华研前沿标杆游学34 分钟前
2026标杆游学落地实践:某科技企业半年效率提升30%的实操
python
buhuizhiyuci38 分钟前
【Linux 篇】数字世界的通信管道 —— 匿名管道与进程池深度实战解析
linux·运维·服务器
zh路西法1 小时前
【双目相机 深度估计】PixelXYZ 3D 双目相机标定与实时深度估计全流程
python·opencv·相机标定·深度估计·双目相机·sgbm
卷无止境1 小时前
Python 相对导入与绝对导入的坑:从原理到工程实践
后端·python
无锡耐特森1 小时前
ModbusTCP转Profinet:打通潜油电泵工业互联新路径
linux·运维·服务器
FriendshipT1 小时前
Ultralytics:简要解读YOLOv8 → YOLO11 → YOLO26网络架构
人工智能·pytorch·python·深度学习·yolo·目标检测