내 cmd.com 창을 Control-C가 Python에 SIGINT 신호를 생성하지 않는 모드 (ActiveState가 중요한 경우)로 설정하고 싶습니다.WindowsXP Python 콘솔 프로그램에서 Control-C를 비활성화하는 방법은 무엇입니까?
신호 모듈을 사용하여 SIGINT를 처리 할 수 있다는 것을 알고 있습니다. 문제는 SIGINT를 처리하는 것이 너무 늦었다는 것입니다. 처리 될 때까지 이미 시스템 호출을 인터럽트했습니다.
* 원시 "원시"모드와 동일한 것을 원합니다. 입력 대기열을 올려 놓고 응용 프로그램이 읽는 것이 안전 할 때까지 기다리십시오.
msvcrt.getch()는 Control-C를 문자로 반환하는 것처럼 보입니다. 그러나 이것은 프로그램이 getch() 자체에 의해 차단되는 동안에 만 작동합니다. 다른 시스템 호출 (잠자기, 그냥 예제 사용)에 있다면, 나는 SIGINT를 얻는다.
감사합니다. 그게 효과가있는 것 같아요. 이상하게도 대화 형 프롬프트가 종료되고 cmd.com 창으로 다시 덤프됩니다. 그것은 내 호응을위한 문제는 아니며 단지 호기심입니다. – user135331
필자의 이전 코멘트에있는 동작은 ctypes, pywin32가 아니라면 문제가된다 (Oh, 나는 파이썬 24로 석기 시대로 돌아왔다. :)). – user135331
@dgou, 언제나 도움이되어 기쁘다. (답이 결정적으로 문제를 해결하는 데 도움이된다면 받아 들여야한다 : 스택 오버플로 에티켓!). –