8
我正在尋找一種工具來查看我的Mac上的CPU使用情況,類似於Activity Monitor,但我在計算中使用這些數字。我需要能夠以0.5秒爲間隔獲得CPU使用率。 Activity Monitor使用什麼API?它是否記錄在某處?Mac OS X活動監視器如何實現?我可以使用相同的API嗎?
我寧可不解析命令行程序的輸出,如果這是可以避免的話。
我正在尋找一種工具來查看我的Mac上的CPU使用情況,類似於Activity Monitor,但我在計算中使用這些數字。我需要能夠以0.5秒爲間隔獲得CPU使用率。 Activity Monitor使用什麼API?它是否記錄在某處?Mac OS X活動監視器如何實現?我可以使用相同的API嗎?
我寧可不解析命令行程序的輸出,如果這是可以避免的話。
你可以通過查看Darwin版本的top命令的源代碼來找到它。
http://www.opensource.apple.com/source/top/top-73/libtop.c
這看起來可能是有用的...
靜態kern_return_t libtop_pinfo_update_cpu_usage(task_t任務,libtop_pinfo_t * PINFO,INT *狀態)
你可以只輪詢的/ proc/stat,解析數據,然後用它做點什麼。如果我沒有弄錯,那是標準的POSIX。 – tjameson
@tjameson在OS X上根本沒有'/ proc'。 – ivanzoid
你是對的@ivanzoid,/ proc是Linux特有的。如果OP只需要loadavg,[getloadavg](https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man3/getloadavg.3.html)是執行此操作的標準方法在BSD上。 – tjameson