Lo script di Dtrace newproc.d ha smesso di funzionare dopo l'aggiornamento, a causa della ricerca mancante proc ::: exec-success probe

0

Sto cercando di eseguire:

$ sudo /usr/bin/newproc.d

che suppongono di snoopare nuovi processi mentre vengono eseguiti, ma fallisce con l'errore:

dtrace: failed to compile script /usr/bin/newproc.d: line 22: probe description proc:::exec-success does not match any probes

Questo è su OS X 10.11.2 e per quanto mi ricordo, questo funzionava prima dell'upgrade.

Sembra che il nuovo OS X non abbia più proc:::exec-success probe come ho controllato:

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

Codice in errore di quello script (nota: questo è stato fornito dal sistema, non l'ho cambiato):

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

La sonda è stata rimossa o rinominata su una sonda diversa? Forse potrei attivarlo in qualche modo? Altrimenti cosa posso usare invece?

    
posta kenorb 18.03.2016 - 22:48
fonte

2 risposte

1

Questo probabilmente è dovuto alla funzione "Rootless" di El Capitan.

Puoi disabilitare questa funzione riavviandola in modalità di ripristino ed eseguendo il comando csrutil disable (e puoi analogamente riattivarla con csrutil enable ).

C'è una grande spiegazione in questa domanda Fai una domanda diversa: Qual è la caratteristica" senza radici "di El Capitan, davvero? La seconda risposta si rivolge direttamente a Dtrace.

    
risposta data 18.03.2016 - 23:19
fonte
1

Per essere ancora più sicuro, puoi eseguire:

csrutil enable --without dtrace

ma non è destinato all'uso in produzione secondo Apple.

    
risposta data 16.06.2016 - 14:59
fonte

Leggi altre domande sui tag