Используйте subprocess.Popen()
вместо subprocess.call()
.Например:
import subprocess
my_process = subprocess.Popen(['ls', '-l'])
Чтобы завершить дочерний процесс:
my_process.kill()
Чтобы захватить сигнал уничтожения, вы можете сделать что-то вроде этого:
import signal
import sys
def signal_handler(signal, frame):
sys.exit(0)
signal.signal(signal.SIGINT, signal_handler)