1 Star2 Stars3 Stars4 Stars5 Stars (还没有评分)
Loading...

DTraceToolkit脚本解析(4)-newproc.d

newproc.d位于DTraceToolkitProc文件夹下,其功能是打印新执行的进程名字。脚本代码就一行(略去版权信息):

proc:::exec-success { trace(curpsinfo->pr_psargs); }

脚本代码分析如下:
监听exec-success probe(只有exec系统调用执行成功才会触发这个probe),其中curpsinfopsinfo_t类型变量,pr_psargs成员记录了命令行参数。当probe触发后,打印整个新进程的命令行参数。

执行脚本,输出如下:

bash-3.2# ./newproc.d
dtrace: script './newproc.d' matched 1 probe
CPU     ID                    FUNCTION:NAME
  0   3177         exec_common:exec-success   sh -c { iostat -x 5 2|grep -v '^$' |grep -vi 'dev'; } 2>&1
  0   3177         exec_common:exec-success   iostat -x 5 2
  4   3177         exec_common:exec-success   grep -vi dev
  5   3177         exec_common:exec-success   grep -v ^$

参考资料:proc Provider

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.