[BACK]Return to ps.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / bin / ps

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/bin/ps/ps.c between version 1.46 and 1.47

version 1.46, 2001/12/20 20:10:34 version 1.47, 2002/06/19 08:11:56
Line 121  struct varent *vhead, *vtail;
Line 121  struct varent *vhead, *vtail;
 int     eval;                   /* exit value */  int     eval;                   /* exit value */
 int     rawcpu;                 /* -C */  int     rawcpu;                 /* -C */
 int     sumrusage;              /* -S */  int     sumrusage;              /* -S */
 int     dontuseprocfs;          /* -K */  
 int     termwidth;              /* width of screen (0 == infinity) */  int     termwidth;              /* width of screen (0 == infinity) */
 int     totwidth;               /* calculated width of requested variables */  int     totwidth;               /* calculated width of requested variables */
   
Line 202  main(argc, argv)
Line 201  main(argc, argv)
                         jfmt[0] = '\0';                          jfmt[0] = '\0';
                         break;                          break;
                 case 'K':                  case 'K':
                         dontuseprocfs=1;                          break;                  /* no-op - was dontuseprocfs */
                         break;  
                 case 'L':                  case 'L':
                         showkey();                          showkey();
                         exit(0);                          exit(0);
Line 215  main(argc, argv)
Line 213  main(argc, argv)
                         break;                          break;
                 case 'M':                  case 'M':
                         memf = optarg;                          memf = optarg;
                         dontuseprocfs = 1;  
                         break;                          break;
                 case 'm':                  case 'm':
                         sortby = SORTMEM;                          sortby = SORTMEM;
Line 346  main(argc, argv)
Line 343  main(argc, argv)
         } else          } else
                 kd = kvm_openfiles(nlistf, memf, swapf, O_RDONLY, errbuf);                  kd = kvm_openfiles(nlistf, memf, swapf, O_RDONLY, errbuf);
   
         if (kd == 0) {          if (kd == 0)
                 if (dontuseprocfs)                  errx(1, "%s", errbuf);
                         errx(1, "%s", errbuf);  
                 else {  
                         warnx("kvm_openfiles: %s", errbuf);  
                         fprintf(stderr, "ps: falling back to /proc-based lookup\n");  
                 }  
         }  
   
         if (!fmt)          if (!fmt)
                 parsefmt(dfmt);                  parsefmt(dfmt);
Line 368  main(argc, argv)
Line 359  main(argc, argv)
          */           */
         if (!kd || !(kinfo = getkinfo_kvm(kd, what, flag, &nentries)))          if (!kd || !(kinfo = getkinfo_kvm(kd, what, flag, &nentries)))
         {          {
                 /*  If/when the /proc-based code is ripped out  
                  *  again, make sure all references to the -K  
                  *  option are also pulled (getopt(), usage(),  
                  *  man page).  See the man page comments about  
                  *  this for more details.  */  
                 if (kd)                  if (kd)
                         warnx("%s.", kvm_geterr(kd));                          warnx("%s.", kvm_geterr(kd));
                 if (dontuseprocfs)                  exit(1);
                         exit(1);  
   
                 /*  procfs_getprocs supports all but the  
                  *  KERN_PROC_RUID flag.  */  
                 kinfo = getkinfo_procfs(what, flag, &nentries);  
                 if (kinfo == 0)  
                         errx(1, "fallback /proc-based lookup also failed.  %s",  
                             "Giving up...");  
                 fprintf(stderr, "%s%s",  
                     "Warning:  /proc does not provide ",  
                     "valid data for all fields.\n");  
                 use_procfs = 1;  
         }          }
         if (nentries == 0) {          if (nentries == 0) {
                 printheader();                  printheader();
Line 558  usage()
Line 532  usage()
   
         (void)fprintf(stderr,          (void)fprintf(stderr,
             "usage:\t%s\n\t   %s\n\t%s\n",              "usage:\t%s\n\t   %s\n\t%s\n",
             "ps [-acCehjKlmrSTuvwx] [-O|o fmt] [-p pid] [-t tty]",              "ps [-acCehjlmrSTuvwx] [-O|o fmt] [-p pid] [-t tty]",
             "[-M core] [-N system] [-W swap] [-U username]",              "[-M core] [-N system] [-W swap] [-U username]",
             "ps [-L]");              "ps [-L]");
         exit(1);          exit(1);

Legend:
Removed from v.1.46  
changed lines
  Added in v.1.47

CVSweb <webmaster@jp.NetBSD.org>