Вы можете использовать два subprocess.Popen(...)
для запуска двух сценариев в отдельных процессах:
import subprocess
import tkinter as tk
proclist = []
def clicked():
proclist.clear()
for script in ('inference.py', 'extract_frames.py'):
proc = subprocess.Popen(['python', script])
proclist.append(proc)
def kill_tasks():
for proc in proclist:
if proc and proc.poll() is None:
print('Killing process with PID', proc.pid)
proc.kill()
proclist.clear()
root = tk.Tk()
root.geometry('400x400')
root.title('GUI')
tk.Button(root, text='Start detecting', width=20, command=clicked).pack()
tk.Button(root, text='Kill tasks', width=20, command=kill_tasks).pack()
root.mainloop()