当前位置: 技术问答>linux和unix
如何通过/proc得到当前运行的所有进程
来源: 互联网 发布时间:2015-11-11
本文导语: 要做一个任务管理器 要得到所有进程信息 在/proc下面 每个进程的信息都在pid命名的子文件夹里面 可是我不知道怎么得到一个文件夹的所有子文件夹? 强人指点以下吧! | 用内核中的宏for_each_tas...
要做一个任务管理器
要得到所有进程信息
在/proc下面
每个进程的信息都在pid命名的子文件夹里面
可是我不知道怎么得到一个文件夹的所有子文件夹?
强人指点以下吧!
要得到所有进程信息
在/proc下面
每个进程的信息都在pid命名的子文件夹里面
可是我不知道怎么得到一个文件夹的所有子文件夹?
强人指点以下吧!
|
用内核中的宏for_each_task获得想要的信息
不过必须在内核中使用,建议加载模块或者修改内核
不过必须在内核中使用,建议加载模块或者修改内核
|
简单示意:
dp=opendir("/proc");
while ((struct dirent *dirp=readdir(dp))!=NULL) {
if (strcmp(dirp->d_name,".")==0||strcmp(dirp->d_name,"..")==0)
continue;
strcpy(path,"/proc/",d_name);
lstat(path, statbuf); // 节点状态
if statbuf.st_mode== 目录
..........
}
dp=opendir("/proc");
while ((struct dirent *dirp=readdir(dp))!=NULL) {
if (strcmp(dirp->d_name,".")==0||strcmp(dirp->d_name,"..")==0)
continue;
strcpy(path,"/proc/",d_name);
lstat(path, statbuf); // 节点状态
if statbuf.st_mode== 目录
..........
}
|
用opendir与readdir函数来实现,具体用法请查阅网上