En el pasado, cuando he necesitado diagnosticar algo como esto, he utilizado el kill.d script de Brendan Gregg :
dtrace:::BEGIN
{
/* Print header */
printf("%5s %12s %5s %-6s %s\n","FROM","COMMAND","SIG","TO","RESULT");
}
syscall::kill:entry
{
/* Record target PID and signal */
self->target = arg0;
self->signal = arg1;
}
syscall::kill:return
{
/* Print source, target, and result */
printf("%5d %12s %5d %-6d %d\n",
pid,execname,self->signal,self->target,(int)arg0);
/* Cleanup memory */
self->target = 0;
self->signal = 0;
}
Ejecutarlo y luego ejecutar killall Finder
en otro shell da como resultado:
[user@fozzy Scripts]$ sudo kill.d.sh
FROM COMMAND SIG TO RESULT
155 launchd 15 4294900609 -1
66872 killall 15 66687 0
El cual te dice qué (killall en el PID 66872 con la señal 15) mató qué proceso (en este caso, 66687 mi instancia del Finder que se estaba ejecutando en ese momento) y el resultado. Esto ralentiza un poco el sistema mientras se ejecuta, pero debería proporcionarte los resultados que necesitas - simplemente anota el PID de tu Finder antes, y luego deja que se ejecute (ya sea mientras estás trabajando, o durante la noche para evitar interrumpir tu trabajo) y mira para ver qué mató a ese PID.