У меня есть тестовый жгут (написанный на 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)