У меня есть скрипт python, управляющий процессом gdb в окнах, и мне нужно отправить SIGINT в порожденный процесс, чтобы остановить целевой процесс (управляемый gdb)Отправка SIGINT в подпроцесс python
Похоже, что в win32 имеется только SIGTERM, но ясно, что если я запустил gdb из консоли и Ctrl + C, он думает, что получает SIGINT. Есть ли способ подделать это так, чтобы функциональность была доступна на всех платформах?
(Я использую подпроцесс модуля, и Python 2.5/2.6)
Согласно приведенной ниже ссылке, вы не можете отправить CTRL + C ?? – Ryan
Я бы отправил последовательность поддельных ключей в процесс GDB. Похоже на макропрограмму. Это определенно не очень. Другим вариантом является инструмент gdb с надежным механизмом IPC win32. – drudru
Поддельная последовательность клавиш не работает. Это не GDB, который обрабатывает последовательность клавиш в прерывание. Оболочка ловит CTRL + C, а затем превращает его в какое-то событие IPC, которое подхвачено gdb и интерпретируется как SIGINT (хотя окна, как мы знаем, не имеют SIGINT) Когда вы говорите «инструмент gdb с надёжным win32 IPC mchanism «вы на самом деле значимы в коде GDB? Как на самом деле идите и опустите в именованный канал или какой-то флаг или что-то, что я могу установить извне? Предположим, что в этом случае это тоже не вариант. – Ryan