首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在目标C中使用dtrace

在目标C中使用dtrace
EN

Stack Overflow用户
提问于 2014-06-26 07:57:40
回答 1查看 199关注 0票数 0

我在下面的参数中使用dtrace计算特定的进程网络流量使用情况:

代码语言:javascript
复制
sudo dtrace -n 'syscall::recvfrom:return { @[pid] = sum(arg0); }'

我怎样才能在目标C中使用dtrace?

我使用NSTask启动具有上述参数的dtrace,但是当这个dtrace命令的结果在终止dtrace之后显示出来时,除非终止dtrace,否则我无法看到结果。由于dtrace处于计算给定进程流量的循环中,并且由于使用了NSPipe,所以我无法使用[task terminate]命令。所以我的主要问题是:

如何在目标C中使用NSTask或不使用它(通过另一种方法)并正确地终止它,然后看到结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-26 13:13:11

默认行为是不打印任何内容,但您可以放入配置文件kicker以使其在间隔时间内打印输出。增加一句,如:

代码语言:javascript
复制
profile:::tick-1sec
{
  printa(@);
}

应该达到预期的效果。

或者,使用您的sudo调用:

代码语言:javascript
复制
sudo dtrace -n 'syscall::recvfrom:return { @[pid] = sum(arg0); } profile:::tick-1sec { printa(@); }'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24425262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档