我必须开发一个 Cocoa 程序来监视特定的进程。如果该进程的 CPU 使用率低于 50%,我必须向管理员发送电子邮件。当然,这将是一个 Mac OS X 应用程序。
有人可以给我一些建议或例子吗?我在网上搜索了一下,但没有找到任何东西。
最佳答案
你问的实际上一点也不简单。
正如 CajunLuke 所说,您需要利用系统的 POSIX 基础。
但问题是,您需要获取某个时间窗口内的平均 CPU 使用情况,并对多个样本进行平均,这可能会丢弃超出某个标准差的样本。
问题在于,CPU 使用率样本必然是一段时间内的平均值,如果该时间段非常短,那么您偶尔会看到样本极低(或极高)。
从开源存储库获取 top
命令的源代码(我相信 top
将出现在 Darwin OSS 版本中)并查看一下。
关于objective-c - 如何使用 Objective-C 获取正在运行的进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7233455/