Subject: first go at sysv ps(1) implementation
To: None <tech-userlevel@netbsd.org>
From: Simon Burge <simonb@netbsd.org>
List: tech-userlevel
Date: 06/12/2000 04:09:00
I've got something that I think is almost complete for SysV-type ps
argument handling.
Features:
-B selects BSD mode, -X selects XPG4 (SysV, SUSv2, whatever)
mode. There can be more than one of these, and the last one
takes effect - this allows for a script (say /usr/xpg4/ps) to
have "exec /bin/ps -X" and for the user to be able to use
"ps -B <bsdopts> regardless of which ps (/bin/ps or /usr/xpg4/ps
or whatever) is first in their path. This option(s) must be
at the start of the command line and must be a single letter
after the dash. The default is BSD mode.
All SysV/SUSv2 format options should be supported.
I've thrown in a few Solaris and HP/UX extras as well.
In BSD mode, "ps -ef" will give the SysV type behaviour.
"ps -fe" will give something strange!
Incomplete:
-C Select by command name (HP/UX-style). Dunno about this
one yet - maybe too religious...
-g Select by progress group (SYSCTL).
-s Select by session id (SYSCTL).
-G Select by real-gid (SYSCTL).
The above, as well as -{p,u,U,t}, only take a single argument
instead of a list. To do this properly would require some
kernel work (instead of grabbing all processes and sifting
out the unneeded ones).
The options with (SYSCTL) require some minor kernel changes
to implement effectively.
The man page...
Diffs are available at
ftp://ftp.netbsd.org/pub/NetBSD/misc/simonb/sysv-ps-diffs
Due to the newness of all this, it is unlikely to get into the
up-and-coming 1.5 release unless lots of people lobby hard :-)
Simon.