mardi 14 juin 2016

How to kill a subprocess started in a thread?


I am trying to run the Robocopy command (but I am curious about any subprocess) from Python in windows. The code is pretty simple and works well. It is:

def copy():
    with Popen(['Robocopy', media_path, destination_path, '/E', '/mir', '/TEE', '/log+:' + log_path], stdout=PIPE, bufsize=1, universal_newlines=True) as Robocopy:
        Robocopy.wait()
        returncode = Robocopy.returncode

Additionally I am running it in a separate thread with the following:

threading.Thread(target=copy, args=(media_path, destination_path, log_path,), daemon=True)

However, there are certain instances where I want to stop the robocopy (akin to closing the CMD window if it was run from the command line)

Is there a good way to do this in Python?


Aucun commentaire:

Enregistrer un commentaire