Previene il messaggio "l'applicazione si chiude inaspettatamente" su sigquit

12

Io uccido i processi Python con SIGQUIT premendo Ctrl \ a volte (di solito i miei stessi che si comportano male). Posso impedire al messaggio "Python di uscire in modo imprevisto"? So che posso colpire la fuga, quindi non è così male.

    
posta Thomas 21.10.2013 - 00:17
fonte

3 risposte

13

Se non si desidera visualizzare le finestre di dialogo dei rapporti sugli arresti anomali, è preferibile disabilitarli:

defaults write com.apple.CrashReporter DialogType none

Esci e torna indietro per applicare le modifiche.

    
risposta data 21.10.2013 - 12:10
fonte
5

Puoi anche far apparire il messaggio come una notifica:

defaults write com.apple.CrashReporter UseUNC 1
    
risposta data 24.08.2016 - 11:17
fonte
3

Il comportamento predefinito durante la ricezione di SIGQUIT è di eseguire il dump di core e uscire; il cronista dei crash viene attivato come parte di questo processo.

Partire con 10.5 (?) semplicemente impostando un gestore di segnale per SIGQUIT dovrebbe essere sufficiente per evitare il reporter di crash; probabilmente vorrai che il gestore chiami anche 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()

Il codice sopra è stato testato il 10.8.5 contro /usr/bin/python che è 2.7.2.

    
risposta data 21.10.2013 - 21:12
fonte

Leggi altre domande sui tag