我曾经在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上也能很好地工作。但是在机器人的代码中,它不能工作。
还启动了一些奇怪的嵌入式终端窗口进程。有人有什么见解吗?
1条答案
按热度按时间zujrkrfu1#
因此,在Windows终端版本低于版本17(这是在预览版中可用,不知道当一般的版本是,但很快,我想)的版本中有一个错误。这是我类似问题的来源。