与windows 10相比,windows 11与python的分离过程有什么变化?

utugiqy6  于 2023-04-08  发布在  Python
关注(0)|答案(1)|浏览(124)

我曾经在python(3.7 - 3.11)中启动分离的Robot Framework进程,类似于下面的代码:

import subprocess
process = subprocess.Popen([robot.exe,[your_test_path]], shell=True, stdin=None, stdout=None, stderr=None, close_fds=True)

此进程分离代码的重要部分是

shell=True, stdin=None, stdout=None, stderr=None, close_fds=True

但它在Windows 11上停止工作。当父进程停止时,该进程立即停止。
我不得不修正它。经过一番调查后,我这样做了:

process = subprocess.Popen([robot.exe,[your_test_path]], shell=True, stdin=None, stdout=None, stderr=None, close_fds=True, start_new_session=True, creationflags=subprocess.DETACHED_PROCESS)

现在它在Windows上工作10和11太.重要的parametr似乎是:

creationflags=subprocess.DETACHED_PROCESS

docu来了
但我仍然想知道什么改变了,什么是最好的方式来启动最小化/隐藏的分离过程。
因为我的notepad.exe测试在windows 11上也能很好地工作。但是在机器人的代码中,它不能工作。
还启动了一些奇怪的嵌入式终端窗口进程。有人有什么见解吗?

zujrkrfu

zujrkrfu1#

因此,在Windows终端版本低于版本17(这是在预览版中可用,不知道当一般的版本是,但很快,我想)的版本中有一个错误。这是我类似问题的来源。

相关问题