La secuencia de comandos newproc.d de Dtrace dejó de funcionar después de la actualización, debido a que faltaba proc ::: sonda exec-success

0

Estoy intentando ejecutar:

$ sudo /usr/bin/newproc.d

que supone detener los nuevos procesos a medida que se ejecutan, pero falla con el error:

  

dtrace: no se pudo compilar el script /usr/bin/newproc.d: línea 22: descripción de la sonda proc:::exec-success no coincide con ninguna sonda

Esto está en OS X 10.11.2 y, por lo que recuerdo, funcionó antes de la actualización.

Parece que el nuevo OS X ya no tiene la sonda proc:::exec-success , como he comprobado:

$ sudo dtrace -l | grep proc:::exec-success

Código de falla de ese script (nota: esto fue proporcionado por el sistema, no lo he cambiado):

proc:::exec-success
{
  print_pid[pid] = 1; /* This pid emerged from an exec, make a note of that. */
}

¿Se eliminó esa sonda o se le cambió el nombre a otra sonda? Tal vez podría activarlo de alguna manera? De lo contrario, ¿qué puedo usar en su lugar?

    
pregunta kenorb 18.03.2016 - 22:48

2 respuestas

1

Probablemente se deba a la función "Sin raíz" en El Capitán.

Puedes deshabilitar esta función reiniciando en modo de recuperación y ejecutando el comando csrutil disable (y puedes habilitarlo de manera similar con csrutil enable ).

Hay una gran explicación en esta pregunta diferente: ¿Cuál es la característica" desarraigada "en El Capitán, realmente? La segunda respuesta se dirige directamente a Dtrace.

    
respondido por el Ɱark Ƭ 18.03.2016 - 23:19
1

Para estar aún más seguro, puedes ejecutar:

csrutil enable --without dtrace

pero esto no es para uso de producción según Apple.

    
respondido por el C23 16.06.2016 - 14:59

Lea otras preguntas en las etiquetas