当前位置: 技术问答>linux和unix
查找系统当前所有存在的进程
来源: 互联网 发布时间:2015-04-28
本文导语: 这个程序是让他遍历一遍/proc/目录下的所有目录查找status这个文件(里面记录了该进程的一些信息),然后读取第一行(进程名)输出。 问: 1 他怎么一个都没有找到,看看程序有什么问题? 2 那位仁兄还...
这个程序是让他遍历一遍/proc/目录下的所有目录查找status这个文件(里面记录了该进程的一些信息),然后读取第一行(进程名)输出。
问: 1 他怎么一个都没有找到,看看程序有什么问题?
2 那位仁兄还有更好的方法?
#include
#include
#include
int fn(const char *file, const struct stat *sb, int flag, struct FTW *s)
{
FILE *fp;
char line[128+1];
if( flag == FTW_F )
{
if( strstr(file,"status")!=NULL )
{
fp = fopen (file, "r");
fgets(line, sizeof(line), fp);
fclose(fp);
printf("%s", line);
}
};
return -1;
}
int main( )
{
int result;
nftw("/proc/", fn, 100, FTW_MOUNT);
return 1;
}
问: 1 他怎么一个都没有找到,看看程序有什么问题?
2 那位仁兄还有更好的方法?
#include
#include
#include
int fn(const char *file, const struct stat *sb, int flag, struct FTW *s)
{
FILE *fp;
char line[128+1];
if( flag == FTW_F )
{
if( strstr(file,"status")!=NULL )
{
fp = fopen (file, "r");
fgets(line, sizeof(line), fp);
fclose(fp);
printf("%s", line);
}
};
return -1;
}
int main( )
{
int result;
nftw("/proc/", fn, 100, FTW_MOUNT);
return 1;
}
|
你让搜索停止了
如果你需要不断进行必徐让fn地返回值为0
如果你需要不断进行必徐让fn地返回值为0
|
可以利用pidof命令来获得PID
|
system(ps -ax );
这样不什么都有了吗?
嘿嘿,可能这样太懒了,没味了
这样不什么都有了吗?
嘿嘿,可能这样太懒了,没味了