2017-11-24 8 views
1

그래서 저는 python 스크립트를 멈추기 위해 control-z를 사용하고 있습니다. 그러나 최근에 그들은 활동 모니터에서 여전히 활성 상태 였고 종료 만 할 수 있다고 나타났습니다. 그곳에. Control-C는 작동하지 않고^C 만 인쇄합니다. 아마도 콤보가 다시 매핑 되었습니까? 내가 어떻게 알아낼 수 있는지에 대한 제안.터미널에서 파이썬 끝내기 (control-C 인쇄 만^C) macOS 10.12

+0

도움 주셔서 감사합니다. 문제 해결됨! – bbrodsky

+0

우수! 답변으로 내 의견을 게시했습니다. 문제를 해결하기 위해 무엇을했는지 말씀해 주시겠습니까? – cdarke

+0

Ctrl-D는 대개 대화식으로 쉘에서 EOF를 보내도록 매핑됩니다. – bipll

답변

1

기본적으로 CTRL+Z은 프로세스를 일시 중단하고 백그라운드에 배치합니다. man bash을 참조하고 작업 제어을 검색하십시오.

OS X 표준 bash에서 CTRL+C은 전경 프로세스에 SIGINT (인터럽트 신호)을 전송하지만 ^C도 인쇄합니다. SIGINT은 실행중인 프로세스에서 무시하거나 처리 할 수 ​​있습니다. 기본 파이썬으로

SIGINT을 처리하고 스크립트가 except Exception: 또는 이와 유사한 (매우 나쁜 생각)과 같은 일반적인 예외를 처리하는 경우가 CTRL+C을 무시할 수 A A KeyboardException로 변환합니다.

스크립트에서 신호 처리 및 일반적인 예외 처리를 확인하십시오.

터미널 유형 stty -a에 매핑 확인하고 cchars을 찾아 당신은 intr = ^C;susp = ^Z;를 참조해야합니다.

+1

감사합니다. 내 프로그램에 SIGINT를 차단하는 비동기 처리기가 있습니다. – bbrodsky