gpt4 book ai didi

android - NDK 如何获取所有正在运行的进程的列表?

转载 作者:太空宇宙 更新时间:2023-11-03 13:04:44 25 4
gpt4 key购买 nike

有没有办法使用 NDK 使用纯 C/C++ 代码获取当前在设备上运行的所有进程?

最佳答案

对于大多数这类事情,Android 是 Linux,在 Linux 上执行此操作的官方方法是阅读 /proc文件系统。这就是ps命令行程序。这是来自 Android's ps program 的 fragment ,位于平台/系统/核心存储库中:

d = opendir("/proc");

while((de = readdir(d)) != 0){
if(isdigit(de->d_name[0])){
int pid = atoi(de->d_name);
if(!pidfilter || (pidfilter == pid)) {
ps_line(pid, 0, namefilter);
if(threads) ps_threads(pid, namefilter);
}
}
}

ps_line函数非常大,但您想要的部分是它读取 /proc/<pid>/stat 的地方.从该文件中,您可以很容易地获得进程名称,因为格式为 PID (process-name) other stuff - 只查找第一个括号并解析直到结束。

关于android - NDK 如何获取所有正在运行的进程的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6406768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com