2015-05-12 2 views
1

Я пытаюсь этот код в Linux:Отправить SIGINT в Windows, используя Python

import os 
import signal 

for i in range(10000): 
    print i 
    if i==6666: 
     os.kill(os.getpid(),signal.SIGINT) 

это хорошо работает. Но он не работает в Windows, потому что атрибут «kill» отсутствует в os-модуле для Windows

Как я могу отправить SIGINT для самостоятельной программы в Windows?

+0

Я не знаю, существует ли SIGINT в Windows. Вы можете проверить этот вопрос: http://stackoverflow.com/questions/813086/can-i-send-a-ctrl-c-sigint-to-an-application-on-windows –

+0

Я не хочу kill program .. Я просто хочу отправить cntrl-c в собственную программу. – Somputer

+0

@EricRenouf: Да, SIGINT вообще не является Windows. (* nix-сигналы на самом деле не являются вещью Windows, даже есть широко аналогичные механизмы, но они не отображают чисто.) –

ответ

1
from win32api import GenerateConsoleCtrlEvent 
GenerateConsoleCtrlEvent(CTRL_C_EVENT, 0) 
+0

Это работает для pythonw? –

Смежные вопросы