Brendan Gregg tem um bom número de
dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'
Expandindo isso, você pode assistir a um determinado arquivo sendo aberto, adicionando um predicado:
dtrace -n 'syscall::open*:entry /copyinstr(arg0)=="/etc/passwd"/ { printf("%s %s",execname,copyinstr(arg0)); }'
Gerando a seguinte saída:
CPU ID FUNCTION:NAME
2 12622 open64:entry cat /etc/passwd
ls é um pouco diferente, em que ls file não abre file . Ele usa stat (especificamente, lstat64 ) para que o probe seja syscall::*stat*:entry .
Observe que as implementações de dtrace variam. Os comandos acima foram executados em illumos. YMMV.