从C / C ++程序在Mac OS X上对进程进行采样

Activity Monitor中的Sample Process功能非常有用。但是,我需要从另一个正在运行的进程(C / C ++)或命令行执行相同的操作(取样)某个进程。 有没有办法做到这一点?几天以来我一直在谷歌搜索没有任何运气。     
已邀请:
有一个命令行实用程序
sample
。 例:
sample Safari -file /dev/stdout
它将与Activity Monitor获得完全相同的输出。     
有一些命令行应用程序派上用场:
sample
top
。 如果要编写自己的程序,可以使用
sysctl
系统调用来获取此类信息。但是,这很乏味。 我建议安装procfs文件系统(使用MacFUSE构建)。这将在
/proc
创建一个新的“目录”,其中包含每个应用程序的许多有用信息(例如内存使用,CPU使用,锁,打开的文件,套接字,线程等)。该网站提供了如何访问它的示例。然后,您可以简单地编写对这些文件的访问权限。     

要回复问题请先登录注册