次の例は、システム上でdate コマンドが実行されると、write()
システム・コールに指定されたファイル記述子、出力文字列および文字列長を表示する、実行可能なDTraceスクリプトdaterun.d
を示します。
#!/usr/sbin/dtrace -qs /* daterun.d -- Display arguments to write() when date runs */ syscall::write:entry /execname == "date"/ { printf("%s(%d, %s, %d)\n", probefunc, arg0, copyinstr(arg1), arg2); }
この例では、述語は/execname == "date"/
であり、プローブsyscall::write:entry
がトリガーされた場合に、DTraceは実行可能ファイルの名前がdateの場合にのみ、関連付けられているアクションを実行することを指定します。
スクリプトのモードを変更して実行可能にします。
# chmod +x daterun.d
あるウィンドウからスクリプトを実行する場合、別のウィンドウにdate コマンドを入力すると、次のような出力が最初のウィンドウに表示されます:
# ./daterun.d
write(1, Thu Oct 31 11:14:43 GMT 2013
, 29)