Se rastrear cada chamada para a chamada do sistema write(2) , você provocará uma saída em cascada. Cada chamada para write() faz o comando dtrace(1M) chamar write(), já que ela exibe a saída, e assim por diante. Este loop de comentários é um bom exemplo de como o comando dtrace pode interferir nos dados desejados. Você pode usar um predicado simples para evitar que esses dados indesejados sejam rastreados:
syscall::write:entry /pid != $pid/ { printf("%s", stringof(copyin(arg1, arg2))); }
A variável de macro $pid se expande para o identificador do processo que ativou os testes. A variável pid contém o identificador do processo cujo segmento estava sendo executado na CPU onde o teste foi acionado. Portanto, o predicado /pid != $pid/ garante que o script não rastreie quaisquer eventos relacionados à execução deste próprio script.