Попробуйте включить подпоток как поток-демон.
Например:
from threading import Thread
threaded = Thread(target=<your-method>)
threaded.daemon = True # This thread dies when main thread (only non-daemon thread) exits.
threaded.start()
Или (в строке):
from threading import Thread
threaded = Thread(target=<your-method>, daemon=True).start()
Когда ваш основной поток завершается (например, когда я нажимаю Ctrl + C "), который другие потоки убивают вышеуказанная инструкция.