subprocess.Popen 未在某些命令上执行

问题描述 投票:0回答:1

我正在尝试执行非阻塞cmd命令。但是,我想运行的命令似乎是跳过(不执行任何操作,只是通过)

subprocess.Popen(["cmd", "/c", "C:/Program Files/BlueStacks_nxt/HD-Player.exe", "--instance", "Nougat32"], 
    shell=False, stdin=None, stdout=None, stderr=None, close_fds=True
)

还尝试设置 shell=True 但也不起作用。如果我添加 .communicate() 或仅使用 os 或 subprocess.run() ,则会执行命令,但不会执行所需的行为,因为它会阻塞。

测试了打开 Txt 文件是否有效,并且确实工作正常 -

subprocess.Popen(
    ["C:/Windows/Notepad.exe", "C:/Users/SomeUser/Desktop/File.txt"], 
    shell=False, stdin=None, stdout=None, stderr=None, close_fds=True
)

知道为什么会发生这种情况以及如何解决它吗?

尝试过 shell=True,False

python subprocess bluestacks
1个回答
0
投票

尝试不使用“cmd”和“/c”子进程。Popen 将运行 .exe。

subprocess.Popen(["C:/Program Files/BlueStacks_nxt/HD-Player.exe", "--instance", "Nougat32"], 
    shell=False, stdin=None, stdout=None, stderr=None, close_fds=True
)
© www.soinside.com 2019 - 2024. All rights reserved.