Can OS X scarica i core nella directory di lavoro anziché in / core?

5

Non so quando è iniziato, ma a un certo punto, OS X ha iniziato a scaricare i core in una cartella speciale ( /cores ). Questo è un dolore dal momento che vengono confusi insieme ed è difficile tenere traccia di quali file core vanno con quale esecuzione. Esiste una variabile d'ambiente o un flag speciale Posso impostare l'esecuzione dei core nella directory di lavoro (come con altri sistemi operativi)?

    
posta Wesley Bland 08.11.2013 - 16:52
fonte

1 risposta

5

Finalmente l'ho capito. Si scopre che questo è un parametro del kernel controllato da sysctl . È possibile impostarlo su una base per shell per eseguire il dump nella directory di lavoro corrente con:

sysctl -w kern.corefile=core.%P

Dato che non ho mai voluto che i miei core dump finissero in /cores , ma sempre nella directory corrente, ho aggiunto questo plist a /Library/LaunchDaemons/ :

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>sysctl</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/sysctl</string>
        <string>-w</string>
        <string>kern.corefile=core.%P</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

UPDATE:

Da quando ho scritto questo, sembra che il comando sysctl sia cambiato. Ho aggiornato gli esempi precedenti, ma se in precedenza utilizzava kern.core_pattern , non funziona più.

    
risposta data 12.03.2014 - 16:07
fonte

Leggi altre domande sui tag