如果测试需要太多时间,我想通过bash执行testrun。到目前为止,我发现了一些很好的解决方案。但是由于命令kill不能正常工作(当我正确使用它时说它没有正确使用),我决定使用python解决这个问题。这是我要监控的执行调用:
EXE="C:/program.exe"
FILE="file.tpt"
HOME_DIR="C:/Home"
"$EXE" -vm-Xmx4096M --run build "$HOME_DIR/test/$FILE" "Auslieferung (ML) Execute"
(打开的* .exe启动testrun,其中包括一些simulink模拟运行 - 有时会出现simulink错误 - 在这种情况下,测试的执行时间需要太长时间,我想重新启动整个过程。)
首先,我提出了这个想法,在python的子进程中调用包含这些行的shell脚本:
import subprocess
import time
process = subprocess.Popen('subprocess.sh', shell = True)
time.sleep(10)
process.terminate()
但是当我使用它时,* .terminate()或* .kill()不会关闭我在子进程调用中启动的程序。
这就是我现在尝试用python语言实现整个调用的原因。到目前为止我得到了以下内容:
import subprocess
file = "somePath/file.tpt"
p = subprocess.Popen(["C:/program.exe", file])
现在我需要知道,如何实现bash函数的第二个调用“Auslieferung(ML)Execute”。这个电话会开始一个名为“Auslieferung(ML)Execute”的实习生。有任何想法吗?或者选择其他方式更好?或者我可以在某处获得bash的“kill”选项吗?