Utilice la variable macro $target para crear secuencias de comandos que puedan aplicarse a un proceso de usuario determinado de interés que está seleccionado en la línea de comandos dtrace utilizando la opción -p o que se ha creado mediante la opción -c. Los programas D especificados en la línea de comandos o mediante la opción -s se compilarán después de crear o capturar procesos y la variable $target se amplía hasta el Id. de proceso entero del primer proceso en cuestión. Por ejemplo, la siguiente secuencia de comandos D podría utilizarse para determinar la distribución de llamadas de sistema ejecutadas por el proceso de un sujeto determinado:
syscall:::entry /pid == $target/ { @[probefunc] = count(); }
Para determinar el número de llamadas de sistema ejecutadas por el comando date(1), guarde la secuencia de comandos en el archivo syscall.d y ejecute el comando siguiente:
# dtrace -s syscall.d -c date dtrace: script 'syscall.d' matched 227 probes Fri Jul 30 13:46:06 PDT 2004 dtrace: pid 109058 has exited gtime 1 getpid 1 getrlimit 1 rexit 1 ioctl 1 resolvepath 1 read 1 stat 1 write 1 munmap 1 close 2 fstat64 2 setcontext 2 mmap 2 open 2 brk 4 |