Date: Tue, 16 Mar 2004 17:05:20 -0500 From: Garance A Drosihn <drosih@rpi.edu> To: current@freebsd.org Subject: Re: PATCH for 'ps -p <n>' in current Message-ID: <p0602040fbc7d27516eb5@[128.113.24.47]> In-Reply-To: <p060204e7bc72d891f49a@[128.113.24.47]> References: <p060204e7bc72d891f49a@[128.113.24.47]>
next in thread | previous in thread | raw e-mail | index | archive | help
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@gilead.netel.rpi.edu Senior Systems Programmer or gad@freebsd.org Rensselaer Polytechnic Institute or drosih@rpi.edu
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p0602040fbc7d27516eb5>