cvs commit: src/bin/ps ps.1 ps.c
Garance A Drosehn
gad at FreeBSD.org
Wed Mar 17 16:37:01 PST 2004
At 2:59 PM -0800 3/17/04, Nate Lawson wrote:
>On Wed, 17 Mar 2004, Garance A Drosehn wrote:
>> Modified files:
>> bin/ps ps.1 ps.c
> > Improvements to 'ps -p <x>'. If <x> is a process id that does
> > not exist, then just print the header (if any) and exit, thus
> > matching the behavior on -stable and other OS's.
>If not found, shouldn't it print no header, an error message to
>stderr and return non-zero?
It isn't clear from SUSv3 if it should do that. And, as mentioned,
the behavior in -stable is the same as the behavior on other OS's,
so I felt that it was reasonable to keep that behavior in -current.
Further, 'ps -U someuser' does not give an error message when there
are no processes matching that user. 'ps' only does that if there
is no userid named 'someuser'. It's the same for 'ps -t /dev/ttyx'.
Also consider the (now supported) case of: ps -p 1,12790
if process #1 does exist, and process #12790 does not exist. Do
you really want 'ps' to abort in that case, with a message to
stderr? I do not feel that is desirable.
However, in some further checking on other OS's, I do see that
'ps' does seem to return non-zero if there are no processes which
match the given process-list or user-list. And we also seem to
do that for '-u someuser'. Given that I basically copied the
userlist code to create the support for process-lists, I will
have to check why 'ps' does a zero-return in some cases where
no processes are matched. I didn't intend that. I'll try to
get that fixed tonight.
Garance Alistair Drosehn = gad at gilead.netel.rpi.edu
Senior Systems Programmer or gad at FreeBSD.org
Rensselaer Polytechnic Institute; Troy, NY; USA
More information about the cvs-src