Re: PATCH for 'ps -p <n>' in current

From: Garance A Drosihn <drosih_at_rpi.edu>
Date: Tue, 16 Mar 2004 17:05:20 -0500
At 9:40 PM -0500 3/8/04, Garance A Drosihn wrote:
>
>On stable, if you say 'ps -p <n>', and there is no process '<n>',
>then you get the header-line from 'ps' and nothing else.  The
>command-status is set to indicate failure.
>
>On -current, the same command gives you the error message:
>
>ps: kvm_getprocs: No such process
>
>and you get no header line.  Other OS's also give you the header
>line and no special error message.
>
>In some other OS's, 'ps' behaves the way it does for us in -stable.
>Looking at SUSv3, it's not clear to me if either behavior is
>preferred.

Here is the patch that I came up with for ps.c.  While I was at
it, I changed 'ps' so it accepts a list of pid's, as is described
in SUSv3.  I print out a warning message for any "pid value" which
would never match valid pid, but I do not consider it an error
unless all of the given pid's are invalid.

It's probably bogus to #define 'BSD_PID_MAX' in here, but I did
want to catch the case where a user types in a valid number which
the system would never ever match to a process.  Is there some
routine I could call to get that value (the real value, not just
"the max value that fits in pid_t").  Other than that quirk, this
is patterned after how 'ps' presently handles a list of userids.

The patch has been tested on freebsd/i386 and freebsd/sparc64.
Since I imagine this email would be too long or too "spam-looking"
if I included the entire patch in this message, I have it at:

http://people.freebsd.org/~gad/ps-p.diff

-- 
Garance Alistair Drosehn            =   gad_at_gilead.netel.rpi.edu
Senior Systems Programmer           or  gad_at_freebsd.org
Rensselaer Polytechnic Institute    or  drosih_at_rpi.edu
Received on Tue Mar 16 2004 - 13:05:27 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:47 UTC