Subversion Repositories Kolibri OS

Rev

Rev 3247 | Rev 7024 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. int cmd_ps(char param[])
  3. {
  4.  
  5. int             i, n, sel;
  6. char            *buf1k;
  7. unsigned        PID;
  8. short           STATE;
  9.  
  10. buf1k = malloc(1024);
  11. if (NULL == buf1k)
  12.         return FALSE;
  13.  
  14. sel = param && strlen(param) > 0;
  15.  
  16. for (i = 1;;i++)
  17.         {
  18.         n = kol_process_info(i, buf1k);
  19.         PID = *(buf1k+30);
  20.         STATE = *(buf1k+50);
  21.         if (9 != STATE)
  22.                 {
  23.                 if (!sel || 0 == strnicmp(param, buf1k+10, 10))
  24.                         {
  25.                         printf ("  %7d %s\n\r", PID, buf1k+10);
  26.                         if (sel)
  27.                                 {
  28.                                         LAST_PID = PID;
  29.                                         int cpu_tck = kol_system_cpufreq() / 100;
  30.                                         printf ("  CPU %d%% RAM %d\n\r", *(int*)buf1k / cpu_tck , *(int*)(buf1k+26)+1);
  31.                                 }
  32.                         }
  33.                 }
  34.         if (i == n)
  35.                 break;
  36.         }
  37.  
  38. free(buf1k);
  39. return TRUE;
  40.  
  41. }
  42.  
  43.