c - 在 OSX 中获取进程内存和 cpu 使用率
问题描述
我想获取 OSX 中每个进程消耗的内存。我试图调用下面的函数,但某些进程的“proc_pidinfo”调用失败。失败时返回值 0。
int main(int argc, char **argv)
{
if(argc != 2) {
puts("Usage: process_detail <pid>");
return 1;
}
struct proc_taskallinfo info;
int ret = proc_pidinfo(atoi(argv[1]), PROC_PIDTASKALLINFO, 0, (user_addr_t) &info, sizeof(struct proc_taskallinfo));
printf("ret=%d, result=%s, rss memory: %lld\n", ret, (char *) info.pbsd.pbi_comm, info.ptinfo.pti_resident_size);
return 0;
}
我可以知道为什么某些 pid 的“proc_pidinfo”会失败。? 我可以实施任何其他方式吗?
先感谢您。
解决方案
推荐阅读
- python - 当我已经尝试了很多参数组合时,我无法使用请求 POST 登录
- python - flask-restplus fields.Nested() 与原始字典(不是模型)
- javascript - 我在第二个循环中的旋转无法进入动画 webgl 中的缩放功能
- apache-spark - 有没有办法使用 Spark 使用 TLS 在 FTP 中加载文件
- ios - swiftui onDelete 对 sortedData 不起作用
- reactjs - 如何在第一次渲染时获取道具
- r - 从 dplyr 中选择的几个和有条件的管道中仅将一个参数传递给函数
- php - 将 Python 变量打印到 PHP 页面
- c++ - Metatrader 5 向导无法识别我的自定义交易信号模块
- java - Apache POI - 处理空字段