PATCH for a more-POSIX `ps', and related adventures

Garance A Drosihn drosih at rpi.edu
Thu Mar 25 09:58:00 PST 2004


At 10:40 AM -0500 3/25/04, Albert Cahalan wrote:
>On Thu, 2004-03-25 at 00:45, Garance A Drosihn wrote:
>  >
>>  It shouldn't hurt us to add -A, and it'll prevent me from
>  > adding something else as -A at a later date...  :-)
>
>How about leaving it undocumented on purpose? That would
>let scripts using "-A" work fine, while not encouraging use.

That certainly seems reasonable.  That's basically what we
did with `g'.

>  > I'll see what other FreeBSD'ers think about this.  I have
>>  no SunOS 4 machines to worry about, and I have never used
>>  "g" on Linux.  I'd rather make a clean break and just do
>>  what the standard says.
>
>Problem is, you're not just adding "-g". You're adding "g".

I understand your position on that part.

The main difference we have is that you have burned into your
brain is that there *is* a separate namespace.  It already exists
for you.  It does not for me -- and I've been using BSD systems
for about nine years now.  I admit that I have `ps axu' and
`ps axuww' burned into my brain, but for all other `ps' commands
that I type, I *am* in fact using the `-' on the options.  I even
do that for `ps -u'.  All the scripts I write *do* include the `-'.
Why?  Because that is what the man page describes.  We DO NOT HAVE
two namespaces.  Any change to make two incompatible namespaces
*is* going to be an incompatible change for some of our users --
including me personally...

>  > Again.  This is a side-project I'm doing.  I can't afford
>  > to devote a lot of time to `ps'.  If I try to split the
>  > namespace, then the task of merely rewriting the man page
>  > will take more time than I intend to spend on this.
>  > ENOTIME.  (not right now, at least).
>
>I'll give you a hand with the parser if you have a recent
>FreeBSD system you can show me around. The ps command has
>been annoying cross-platform sysadmins for far too long.

I do appreciate this, but it does not give me any more hours
in the day.  The incompatibilities of `ps' have annoyed me
too, that's why I'm staying up a few extra hours per night
to make some progress on it.  I can nip away at it over time,
but I can not solve all of the `ps' issues this week.  I just
can't.  Period.  No matter how many times you reword the extra
work you would like me to do, it is still EXTRA work.  ENOTIME.

And part of the work that I am trying to avoid is just trying
to decide what the best thing to do would be.  In fact, I
suspect that part will be more time-consuming than the coding.
That IS work, and it IS time, and I do NOT have the time.

Please understand that I agree with many of your goals, and I
would like to see a better solution done.  And I am mulling
over what you've been saying to see if there is some minimum-
work way that I can leave things in better shape.  However, I
have hundreds of projects "I would like to" get done, and this
is not even a high priority on my own person list of projects.
I am *not* trying to solve the BSD vs SUSv3 problem.  I am just
trying to give FreeBSD users a few more (standard) options.

>  > >Wow. Real BSD is dead. The "s" option prints signal info.
>>
>>  I'll add the `-s' option for sidlist.  If we later split the
>>  namespace, we can use a `s' option for signal info, if that is
>>  appropriate.
>
>You'd be adding something ("ps s 12345") and then removing
>it in favor of something else. That doesn't go over well.
>Temporary hacks usually stand until the end of time.

According to our man page, I'll be adding `-s'.  I understand the
concern you're expressing, but that exact same problem is going
to happen for other options if we split the namespace.  Adding
`-s' (which WILL be documented as `-s' and not as 's'), does not
increase that problem. (IMO)

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


More information about the freebsd-standards mailing list