浏览代码

test mytop

master
10195501441 3 年前
父节点
当前提交
0132185afe
共有 2 个文件被更改,包括 21 次插入30 次删除
  1. +19
    -28
      yeeshell.c
  2. +2
    -2
      yeeshell.h

+ 19
- 28
yeeshell.c 查看文件

@ -399,24 +399,28 @@ int builtin_history(char **args)
int builtin_mytop()
{
int memory_flag = 0, CPU_flag = 0;
memory_flag = mytop_memory();
CPU_flag = mytop_CPU();
if (!memory_flag)
{
return -1;
}
else if (!CPU_flag)
pid_t pid;
int cputimemode = 1;
if ((pid = fork()) < 0)
{
return -2;
printf("fork error\n");
return;
}
else
if (pid == 0)
{
return 1;
getkinfo();
mytop_memory();
get_procs();
if (prev_proc == NULL)
{
get_procs();
}
print_procs(prev_proc, proc, cputimemode);
exit(0);
}
}
int mytop_memory()
void mytop_memory()
{
FILE *fp = NULL;
int pagesize;
@ -424,28 +428,15 @@ int mytop_memory()
if ((fp = fopen("/proc/meminfo", "r")) == NULL)
{
return 0;
exit(0);
}
fscanf(fp, "%u %lu %lu %lu", &pagesize, &total, &free, &cached);
fclose(fp);
printf("memmory(KBytes):\t%ld total\t%ld free\t%ld cached\n", (pagesize * total) / 1024, (pagesize * free) / 1024, (pagesize * cached) / 1024);
return 1;
}
printf("memory(KBytes):\t%ld total\t%ld free\t%ld cached\n", (pagesize * total) / 1024, (pagesize * free) / 1024, (pagesize * cached) / 1024);
int mytop_CPU()
{
int cputimemode = 1;
getkinfo();
get_procs();
if (prev_proc == NULL)
{
get_procs();
}
print_procs(prev_proc, proc, cputimemode);
return 0;
return;
}
void get_procs()

+ 2
- 2
yeeshell.h 查看文件

@ -97,8 +97,8 @@ int builtin_history(char **args);
int builtin_mytop();
/* mytop routine */
int mytop_memory();
int mytop_CPU();
void mytop_memory();
void mytop_CPU();
void get_procs();
void parse_dir();
void parse_file(pid_t pid);

正在加载...
取消
保存