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.eduReceived 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