Отправка ^ C объектам подпроцесса Python в Windows

У меня есть тестовая программа (написанная на Python), которая должна завершить тестируемую программу (написанную на C), отправив ее ^ C . В Unix

proc.send_signal(signal.SIGINT)

работает отлично. В Windows это вызывает ошибку («сигнал 2 не поддерживается» или что-то в этом роде). Я использую Python 2.7 для Windows, поэтому у меня сложилось впечатление, что я смогу сделать это

proc.send_signal(signal.CTRL_C_EVENT)

, но это вообще ничего не дает. Что мне нужно сделать? Это код, который создает подпроцесс:

# Windows needs an extra argument passed to subprocess.Popen,
# but the constant isn't defined on Unix.
try: kwargs['creationflags'] = subprocess.CREATE_NEW_PROCESS_GROUP
except AttributeError: pass
proc = subprocess.Popen(argv,
                        stdin=open(os.path.devnull, "r"),
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE,
                        **kwargs)
22
задан zwol 16 August 2011 в 22:01
поделиться