8

Activity Monitor 中的 Sample Process 功能非常有用。但是,我需要从另一个正在运行的进程 (C/C++) 或命令行对某个进程执行相同的操作(取样)。

有没有办法做到这一点?几天以来,我一直在谷歌上搜索,但没有任何运气。

4

2 回答 2

14

有一个命令行实用程序sample

例子:

sample Safari -file /dev/stdout

它将获得与活动监视器完全相同的输出。

于 2009-12-31T20:24:29.230 回答
2

有一些命令行应用程序派上用场:sampletop.

如果您想编写自己的程序,可以使用sysctl系统调用来获取此类信息。但是,这很乏味。

我建议安装procfs 文件系统(使用 MacFUSE 构建)。这将创建一个新的“目录”,/proc其中包含每个应用程序的许多有用信息(例如内存使用情况、cpu 使用情况、锁、打开的文件、套接字、线程等)。该站点提供了如何访问它的示例。然后,您可以简单地编写对这些文件的访问的脚本。

于 2009-12-31T20:27:17.040 回答