sigquit에서“<application>가 예기치 않게 종료됩니다”메시지 방지 예기치 않게 종료”메시지를 방지 할 수 있습니까?

Ctrl\때때로 (보통 잘못 작동하는) 자신을 눌러 SIGQUIT로 파이썬 프로세스를 죽 입니다. “Python 예기치 않게 종료”메시지를 방지 할 수 있습니까? 나는 탈출을 할 수 있다는 것을 알고 있으므로 그렇게 나쁘지 않습니다.

"Python이 예기치 않게 종료되었습니다."  대화



답변

충돌 보고서 대화 상자를 보지 않으려면이를 사용하지 않는 환경 설정이 있습니다.

defaults write com.apple.CrashReporter DialogType none

로그 아웃했다가 다시 로그인하여 변경 사항을 적용하십시오.


답변

대신 메시지를 알림으로 표시 할 수도 있습니다.

defaults write com.apple.CrashReporter UseUNC 1

답변

SIGQUIT를 수신 할 때의 기본 동작은 코어 덤프 및 종료입니다. 충돌 리포터는이 프로세스의 일부로 트리거됩니다.

10.5 (?)로 시작하면 충돌 리포터를 피하기 위해 SIGQUIT에 대한 신호 핸들러를 설정하는 것만으로 충분합니다. 핸들러가 exit를 호출하기를 원할 것입니다.

import signal, sys, os

def sigquit_handler(signum, frame):
    print 'SIGQUIT received; exiting'
    sys.exit(os.EX_SOFTWARE)

signal.signal(signal.SIGQUIT, sigquit_handler)

# Do your normal work instead of this
print 'Waiting for a signal...'
signal.pause()

위의 코드는 10.8.5에서 /usr/bin/python2.7.2 로 테스트되었습니다 .