瀏覽代碼

test mytop

master
10195501441 4 年之前
父節點
當前提交
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 builtin_mytop()
{ {
int memory_flag = 0, CPU_flag = 0; pid_t pid;
memory_flag = mytop_memory(); int cputimemode = 1;
CPU_flag = mytop_CPU(); if ((pid = fork()) < 0)
if (!memory_flag)
{
return -1;
}
else if (!CPU_flag)
{ {
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; FILE *fp = NULL;
int pagesize; int pagesize;
@ -424,28 +428,15 @@ int mytop_memory()
if ((fp = fopen("/proc/meminfo", "r")) == NULL) if ((fp = fopen("/proc/meminfo", "r")) == NULL)
{ {
return 0; exit(0);
} }
fscanf(fp, "%u %lu %lu %lu", &pagesize, &total, &free, &cached); fscanf(fp, "%u %lu %lu %lu", &pagesize, &total, &free, &cached);
fclose(fp); fclose(fp);
printf("memmory(KBytes):\t%ld total\t%ld free\t%ld cached\n", (pagesize * total) / 1024, (pagesize * free) / 1024, (pagesize * cached) / 1024); printf("memory(KBytes):\t%ld total\t%ld free\t%ld cached\n", (pagesize * total) / 1024, (pagesize * free) / 1024, (pagesize * cached) / 1024);
return 1;
}
int mytop_CPU() return;
{
int cputimemode = 1;
getkinfo();
get_procs();
if (prev_proc == NULL)
{
get_procs();
}
print_procs(prev_proc, proc, cputimemode);
return 0;
} }
void get_procs() void get_procs()

+ 2
- 2
yeeshell.h 查看文件

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

||||||
x
 
000:0
Loading…
取消
儲存