用python控制执行的程序

用python控制执行的程序,python,bash,python-2.7,Python,Bash,Python 2.7,如果测试需要太多时间,我想通过bash执行测试运行。到目前为止,我在这里找到了一些很好的解决方案。但是由于kill命令不能正常工作(当我正确使用它时,它会说它没有正确使用),所以我决定使用python解决这个问题。这是我要监视的执行调用: EXE="C:/program.exe" FILE="file.tpt" HOME_DIR="C:/Home" "$EXE" -vm-Xmx4096M --run build "$HOME_DIR/test/$FILE" "Auslieferung (ML

如果测试需要太多时间,我想通过bash执行测试运行。到目前为止,我在这里找到了一些很好的解决方案。但是由于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将启动一个测试运行,其中包括一些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”选项吗?

这只是另一个命令行参数?只需将字符串附加到列表中。也许这会有所帮助:@SimonHibbs我已经尝试过了,它不起作用,它只是另一个命令行参数吗?只需将字符串附加到列表中。也许这会有所帮助:@SimonHibbs我已经尝试过了,它不起作用