void ps_dump()
{
	DIR *d;
	struct dirent *de;
	char *namefilter = 0;
	int pidfilter = 0;
	int threads = 0;

	d = opendir("/proc");
	if(d == 0) return;

	if(filter_by_system == 1)
	{
	    process_info psinfo;
	    memset(&psinfo, 0, sizeof(process_info));

	    psinfo.uid = 0;
	    strcpy(psinfo.owner, "root");
	    strcpy(psinfo.name, "System");
	    psinfo.status = 'S';
	    ps_list_add(&psinfo);
	}

	while((de = readdir(d)) != 0)
	{
		if(isdigit(de->d_name[0]))
		{
			int pid = atoi(de->d_name);
			ps_instance_dump(pid);
		}
	}
	closedir(d);
}
예제 #2
0
파일: process.c 프로젝트: jugo8633/EmmAgent
int ps_dump()
{
	__android_log_print(ANDROID_LOG_INFO, "JNIMsg", "run JNI function:  %s ",	"ps_dump");

	ps_list_empty(&work_ps_list);

	DIR *d;
	struct dirent *de;
	char *namefilter = 0;
	int pidfilter = 0;
	int threads = 0;

	d = opendir("/proc");
	if (d == 0)
		return;

	while ((de = readdir(d)) != 0)
	{
		if (isdigit(de->d_name[0]))
		{
			int pid = atoi(de->d_name);
			ps_instance_dump(pid);
		}
	}
	closedir(d);
	return work_ps_count;
}