как я уже писал в комментарии, зависти от того, какой у Вас метод определения успешности завершения работы ЕХЕ-шки. Вот общий шаблон:
from os import startfile
from psutil import process_iter
from time import sleep
def is_completed(some_attribute):
#if <your cheking method>: return True
#else: return False
startfile(some_file)
while not is_completed(some_attribute):
sleep(some_time)
for proc in process_iter():
if proc.name() == some_file.split("\\")[-1]:
proc.kill()
some_file - Ваш EXE файл
some_time - временной интервал проверок завершения (на Ваше усмотрение)
some_attribute - если проверки по наличию отчёта об исполнении, то имя отчёта для os.path.exists(some_attribute) или чтения отчёта с поиском заветной строчки "well done"