Как завершить работу скрипта, не завершая запущенную из него программу?

Подскажите, как сделать, чтобы скрипт завершал свою работу после того как выполнит функцию. На данный момент скрипт будет ожидать завершения программы сервера, а мне нужно, чтобы он просто запустил и завершился, а сервер продолжал работать.

import psutil
import subprocess


exe_path_serv = r'C:\servers_asa\island\ShooterGame\Binaries\Win64\ArkAscendedServer.exe'
exe_path_steamCMD = r'C:\asmdata\SteamCMD\steamcmd.exe'
additional_args_serv = r'TheIsland_WP?listen?'
additional_args_CMD = '+force_install_dir C:\servers_asa\island\ +login anonymous +app_update 2430930'

def is_process_running(exe_path):
    for process in psutil.process_iter(['exe']):
        if process.info['exe'] == exe_path:
            return True
    return False

def start_program(exe_path, additional_args):
    try:
        command = f'"{exe_path}" {additional_args}'
        subprocess.run(command, shell=True, close_fds=True)
        print(f'Программа по пути {exe_path} успешно запущена с параметрами: {additional_args}')
    except Exception as e:
        print(f'Ошибка при запуске программы: {e}')

def run_server(path_srv, arg_srv, update=False):

    if is_process_running(path_srv):
        print(f'Сервер уже запущен')
        return
    
    if update:
        start_program(exe_path_steamCMD, additional_args_CMD)

    start_program(path_srv, arg_srv)

run_server(exe_path_serv, additional_args_serv, update=False)

Пробовал так и тоже не работает:

def start_program(exe_path, additional_args):
    try:
        command = f'"{exe_path}" {additional_args}'
        subprocess.Popen(command, shell=True, close_fds=True)
        print(f'Программа по пути {exe_path} успешно запущена с параметрами: {additional_args}')
    except Exception as e:
        print(f'Ошибка при запуске программы: {e}')

Ответы (0 шт):