NEWS should be NEW

This commit is contained in:
albert 2002-10-06 21:03:29 +00:00
parent 6e2f6ca6f6
commit 4bd1dfbb50

688
NEWS
View File

@ -1,645 +1,43 @@
NEWS: what has changed recently with procps, in reverse cronological order. Recent changes:
Please send bug reports to acahalan@cs.uml.edu
designed to support Linux 2.0 through 2.5.41 and beyond
*** THIS FILE DOES NOT INCLUDE RECENT CHANGES *** new top, with optional: color, windowing, SMP stats
runs faster
more "it crashes" bugs fixed
NEWS for version 2.0.7 of procps top shows IO-wait time
vmstat can show active/inactive memory stats
SMP support has been added to top. This adds one line to the screen real-time info supported in ps
for every processor. There is also an (off by default) field to show correct "ps -o size" and "ps --sort size"
the last processor that a process used that replaced the long-dead new maintainers
LIB field. Please send feedback, positive and negative, on these reduced memory usage for ps
changes to procps-bugs@redhat.com allow large PIDs to be specified
SELINUX support is just a recompile away
The libproc soname has changed to 2.0.7 because of a structure the "F" column shrank, so "ps -l" has more command name room
change required to add SMP support. 64-bit time reduces the overflow problem
support S/390, IA-64 emulator, and user-mode Linux
Two programs inspired by Solaris's /usr/proc/bin collection have oldps is gone
been added: pgrep and pkill. By default, for FSSTND/FHS/LSB compliance, configure script -- use "make -f Makefile.noam" as a backup
these are installed in /usr/bin; if you want, you can change PROCDIR "w" program better at determining what a user is doing
in Makefile to move them. You can also make a symlink from more stable
/usr/proc/bin to /usr/bin if you like. code at http://procps.sf.net/ now (SourceForge)
The Makefiles have been sanitized a bit more; they are now less messy Earlier changes, for those not using Debian already:
than they were. There is less duplication between the Makefiles now.
more stable
The man pages that use tables have been fixed to work work broken runs faster
versions of man. -F format option
better error reporting in ps for unknown format specifiers
The old wmconfig file (specific to Red Hat) has been replaced with a BSD's sysctl options -b and -X
desktop file (common across GNOME and KDE). top displays well on large-memory systems
old BSD-style select-by-PID ("ps l$$")
sysctl returns an error code in a condition in which it didn't before, 15-character user names
and handles EOF correctly. ps 'f' ASCII art forest fixed
add SIGSYS on i386
top now only loads System.map when it is actually going to make use top reports real RSS value
of it. large-memory systems work
minimal ps program for embedded systems (minimal.c)
vmstat has its buffer size increased and handles page size dynamically. BSD personality process selection fixed
support locale (French) with ',' and '.' mixed up
w has its year display fixed to show the year 2000 as 00 instead of 0, pgrep program
and to try harder to find a process to display. includes the "kill" and "nice" programs
don't chop non-tty ps output at 80 columns
watch has a fix for ncurses in recent versions of glibc, and expands
tabs so that they display correctly.
libproc tries to get the default page size from the system header
files, but still has a fallback. It also has been extended to allow
applications to handle their own error reporting in some important
cases. The pwcache has been expanded in size to correctly handle
user names longer than 8 characters. It has been expanded to
provide the lproc field that shows up as top's LC field. A segfault
when /proc is not mounted was fixed. Missing files will cause
applications to exit with an error code instead of good exit code.
A warning when libproc cannot calculate the HZ value (probably due
to a kernel bug) has been supressed by default because it broke
people's scripts unnecessarily. A 64-bit memory size reading
bug was fixed (/proc/meminfo was read incorrectly).
A couple of error messages in ps had newlines added to them. ps
only opens System.map when it is going to make use of it. The
full-page error message has been replaced with a shorter usage
message; the full-page command summary is available with --help,
and the usage message tells about --help; the full-page summary
is now no longer an error message and so it is sent to stdout
insteada of stderr. Processes with run times longer than a day
now have their runtime displayed correctly. ruser output was fixed.
An attempt was made to support one more piece of BSD syntax in the
command line arguments, where pids can follow options with no
intervening space. The ps man page was made a bit more
internally consistent and typos fixed. Fixed a segfault when the
PS_FORMAT environment variable was set wrong.
NEWS for version 2.0.6 of procps
Support for large-memory systems has been added.
LIBVERSION has been incremented because of an incompatible change
in the libproc interface, necessitated by the large-memory support.
A little more error checking in device idle time calculations.
Fixed an almost-impossible file descriptor leak in libproc that
occasionally showed up in long-running top sessions.
The fix for top no longer depending on NR_TASKS in 2.0.5 was
broken; top would die with more than 204 tasks. This has been
fixed.
NEWS for version 2.0.5 of procps
procps can build against the 2.3.18 kernel source; top no longer
depends on NR_TASKS.
sysctl no longer segfaults with -A; has a few parsing fixes
NEWS for version 2.0.4 of procps
sysctl can save/restore settings using /etc/sysctl.conf file
top has -p option and N and A commands.
vmstat doesn't mind interrupt counter overflow on long-running machines
ps can now sort by PCPU.
NEWS for version 2.0.3 of procps
Time calculations fixed (or at least improved...) for SMP machines.
In particular, hertz is calculated correctly.
ps doesn't mind terminal resizing happening while it runs.
sysctl is a nifty new program! Try it! Carefully! :-)
w PCPU and WHAT output fixed.
top batch mode now works without a tty (for instance, via rsh).
new version of watch has a few new features like --differences.
sessreg removed; it belongs where it has been for a long time, in X.
NEWS for version 2.0.2 of procps
Removed xproc entirely; the only thing left there was XConsole, which
was equivalent to xconsole -file /proc/kmsg. Added an XConsole shell
script which does
exec xconsole -file /proc/kmsg "$@"
so that folks who depend on XConsole won't be left behind. This also
fixes the bug that XConsole effectively removed limitations on which
users were allowed to read /proc/kmsg without root having much choice
in the matter other than to remove XConsole...
Removed unused psupdate code (still available as part of procps-1.2.x
for anyone who wants to play with it).
Removed sessreg, as it is included in XFree86 and there is no reason
for the duplication.
Fixed version number generation so that it happens in one place. I'm
tired of releasing versions that misreport their version number...
NEWS for version 2.0.1 of procps
Reverted my changes that had broken Albert's Unix98 compliance.
Major bugs fixed:
o ps now returns failure for "ps <non-existant-pid>"
o ps h has reverted to old linux behaviour except in BSD personality;
--headers and --no-headers long options have been added
o watch buffer overrun fixed (no, not a security hole).
top has -b and -n options added.
NEWS for version 2.0 of procps
Thanks to Albert Cahalan for his rewrite of ps, and for making
the time for new development of ps that I just didn't have. His
research into how ps worked on lots of different UNIX systems
really made this version much more usable for a lot of people.
Read ALL of Albert's comments regarding his 1.9.0 release. If
you do not, you may be surprised when scripts fail. I've tried
to prepare people for the worst of this by giving out the much-detested
warning: `-' deprecated; use `ps aux', not `ps -aux'
message for roughly a year and a half.
NEWS for version 1.9.0 of procps
The ps command now supports simultaneous BSD and Unix98 syntax.
There have been many other changes in ps. (complete rewrite)
Red Hat users should check /etc/sysconfig/network-scripts/ifdown-ppp
for the bogus command "ps aul" and change it to "ps axl".
Scripts that make assumptions about character position are and
were broken because fields may overflow. Scripts should parse by
whitespace and use -o to get the best results. Command names for
swapped out processes are now shown in square brackets instead of
parentheses, as required by the Unix98 standard. This problem can
be avoided entirely by using a SysV format without -f, using the
BSD "c" option, or using the format specifier "comm" with -o.
Some uses of ps in /etc/rc.d/init.d/functions should probably
eventually be changed to stuff somewhat like the following, which
would eliminate the need for awk:
PS_PERSONALITY=linux dead=`ps -p $pid -o pid=`
PS_PERSONALITY=linux echo -n `ps -C $1 -o pid=`
PS_PERSONALITY=linux pid=`ps -C $1 -o pid=`
(or use the 'start-stop-daemon' program that Debian has)
Obsolete files you may have: /etc/psdatabase, /etc/psdevtab,
~/.psdevtab, /usr/man/man8/psupdate.8 and /usr/sbin/psupdate.
NEWS for version 1.2.9 of procps
psupdate has been REMOVED from the default install. You can put it back
if you want to by removing two comment characters in the Makefile, but
I'm not going to tell you which ones. <RANT>If you can't figure it out,
there's a good chance that it won't build on your machine and I don't
want the bug reports. One of the main reasons I have removed it is that
it is not necessary on a properly-maintained system (that is, System.map
exists and is correct) and 4/5ths of the bug reports I have fielded in
the past are from users who are not able to maintain a working system
complaining that it doesn't work, despite the fact that the INSTALL file
explains how to build it in different ways and how to disable it.</RANT>
I will delete without response all email asking me how to build psupdate.
ps now accepts and ignores the g option for those with fingers tied to
the g key from too much exposure to BSD. :-)
Should build properly on ultrasparc -- two people sent the patch and
the second time I didn't notice that the patch went in reverted. So
I have now reverted the reverted patch to get the right behavior.
More reliable command-line parsing in vmstat has been added. If vmstat
didn't die for you before, you won't notice the difference...
Fixed a bug where arbitrary users might have been able to corrupt the
screen of arbitrary other users running top by creating processes with
weird arguments.
"ps ce" was missing a space character; fixed.
NEWS for version 1.2.8 of procps
procps.spec now uses buildroot, and can be built by non-root users.
This means that the default install targets had to change in the
makefiles so that the default install does not require root privs
otherwise. Also changed all "bin" ownership to "root" ownership,
as kmem-ps has died out and folks won't be automatically doing
"chmod u+s /bin/ps" and making their systems insecure thereby.
XConsole no longer installed setuid root by default. This is safer,
if less convenient. Change it if you want to use it as non-root.
top had disgustingly buggy ^Z handling: you could only suspend once,
and if you had suspended, you could no longer read WCHAN information.
Both bugs are now fixed.
xcpustate removed -- it was a very old, obsolete version.
Get a new version from ftp://ftp.cs.toronto.edu/pub/jdd/xcpustate
Now looks for kernel symbols in loadable modules.
psupdate no longer included in RPM package; the theory is that
systems maintained with RPM probably are reasonably recent and
up-to-date and so psupdate is extraneous on those systems, only
adding an unhelpful dependency on a particular version of
binutils.
top printed two spaces instead of just one between command-line arguments.
NEWS for version 1.2.7 of procps
Security hole in XConsole fixed.
Works better with very long uptimes.
Fixed RPM spec file to have correct libproc soname.
skill -i works.
Knows about more major numbers for smart serial boards.
Fixed some small problems in top.
NEWS for version 1.2.6 of procps
Signal handling in top fixed in several ways. Main effect: suspending
works correctly with glibc now.
Patch from Linus for change in some kernel structures to 64-bit.
This means that libproc has changed soname, as the proc_t data
structure has changed incompatibly.
File descriptor leaks in libproc were fixed.
NEWS for version 1.2.5 of procps
Potential security hole fixed: if there was no /etc/psdevtab on
a system, a user could put a link from /tmp/psdevtab to a file
owned by another user, and when that other user ran ps, the
file it pointed to would be killed. This wouldn't work for
root because root would be able to create /etc/psdevtab first,
so arbitrary system files would not be killable. This was fixed
by avoiding psdevtab files that are symlinks or have link counts
higher than 1, and by not looking for /tmp/psdevtab anymore, as
the reason for it to exist is really obsolete.
w -s output has been fixed. Scripts that depend on w -s output
should be examined. The output was broken enough to warrant this
change; it was extremely buggy.
NEWS for version 1.2.4 of procps
I_WANT_A_BROKEN_PS environment variable turns off usage warning.
"w <username>" sense corrected.
argument order problem fixed.
XConsole doesn't dump core on exit any more (only fclose if the
file is open...)
NEWS for version 1.2.3 of procps
psupdate moved to /usr/sbin, since it is no longer necessary.
Added wmconfig for Red Hat systems (others can use it if they
want; if/when wmconfig becomes standard, I'll move it into the
install target of the makefile).
Ugly hack to get around a problem some people were getting with
a too-small variable.
The usage message no longer recommends a deprecated syntax. :-)
NEWS for version 1.2.2 of procps
Made procps report its version number correctly.
Fixed typo in w.1 man page.
NEWS for version 1.2.1 of procps
New address for bug reports against procps: procps-bugs@redhat.com
(That's not an official service of Red Hat Software, just an alias
for me so that bugs get filed properly where I don't lose them...)
Better memory checks.
Fixed a file descriptor leak.
In top, the space key updates immediately.
Fixed broken signal code in top.
Fixed broken screen size calculations in top.
Fixed broken user count calculations in top.
Fixed broken time difference calculations in w.
Link libproc against libc explicitly for better co-existance with libc.
NEWS for version 1.2 of procps
Original author/maintainer, Michael K. Johnson <johnsonm@redhat.com>,
has taken over maintenance again.
psmisc removed, as it is better maintained separately. xload removed,
as it is better maintained as part of XFree86. mknewpty removed, as
it duplicates /dev/MAKEDEV and MAKEDEV is maintained.
Support for 2.1.x kernels and for glibc 2.0.5.
Lots of documentation updates.
BFD support and shared library enabled by default.
Binaries are no longer included in the archive -- get them from your
favorite Linux distributor.
free's display fixed in several ways: no such thing as cached swap,
buffer+ display was incorrectly calculated, and buffer calculations
didn't include cached memory.
Removed mknewpty, because it wasn't perfect and collides with MAKEDEV.
NEWS for version 1.01 of procps
top bugfix release. Fixes memory leak, extra line after loadavg and broken
no-idle mode. Also be a little more aggressive utmp 'from host' filtering in w.
NEWS for version 1.00 of procps
Fixed the ps -t without a -a segfault bug. Royal screwup on my part.
Updated libproc parsing routine for the new vsize output as of 1.3.91-ish.
Expanded the room for the FLAGS in ps -l due to high order bits now being set.
Added a brand new top to the distribution. Highly run-time configurable. The
old top is available for at least a release or so as "top.old". See the new man
page for details, or just run it and type 'h'. This is courtesy of Helmut
Geyer. Thanks Helmut!
egrep -n '\<(tgetent|cm|top_clrtoeol|top_clrtobot|cl|ho|me|md|mr|tgoto)\>' on
top.c and cleaned up all terminal strings being just dumped to stdout. All such
strings are now tputs'd out with putchar. This should fix a lot of problems
people have been having.
Also cleaned up non-HZ based references to jiffies -> real time conversion. I
may have missed one or two, though...
Cleaned up some Makefile things. make distclean; make should really work now.
removed function pointer warnings in xcpustate.c. .depend is properly removed
as are the imake generated makefiles. Shared lib generation bug for libproc
fixed. In general the build should be a lot cleaner, but may still have a glitch
or two.
Fixed a few (but probably not all) Alpha compatibility bugs dealing with memory
alignment. Please let me know if I missed any, or if you like give me a test
account on some Alpha. I don't have access to any Linux other than x86 which is
notoriously forgiving about unaligned memory accesses. Thanks to Alfred Arnold
(a.arnold@kfa-juelich.de) and Harald Koenig for their help so far with this.
Completely (well almost) re-wrote 'w'. From on by default, J/PCPU display is
accurate to 0.01s. w and top use readproc, so snap.c has gone away completely.
'skill' should actually work now, but you may have to use '-c', '-u', etc. to
actually get it to parse the command line correctly.
*** Significant changes in psdevtab inverse device name resolution
------------------------------------------------------------------
Extended semantics of the -n (numeric) option to output the full device number
in hexadecimal for the tty field. That way if /etc/psdevtab cannot be created
rescanning the /dev directory can be short-circuited. Fixed incorrect file
creation mode for /etc/psdevtab. I just forgot to alter my original 0 mode to
something reasonable like 0664. Added fallback locations for psdevtab. First
it tries /etc/psdevtab, then /tmp/psdevtab and then $HOME/.psdevtab. Also,
decided to go ahead and create the devtab file with regular old write instead of
the rw mmap. I still read it with mmap, but there should be no trouble with
that even in ancient kernels. Also changed the semantics such that if any
devtab file is found, it is assumed to be correct regardless of the relative
timestamps of /dev and the file. Hopefully all this will avoid any unnecessary
slowness. I'm still willing to reactivate the older somewhat broken code to
do the mapping without any file as a fallback if the file doesn't exist.
*** Significant changes in psdatabase/WCHAN inverse name resolution
-------------------------------------------------------------------
libproc reads directly from System.map, so psupdate and /etc/psdatabase are no
longer necessary. Hopefully this will make kernel configuration management
simpler requiring only the zImage and System.map, which being the stripped
(compressed) kernel and the symbol table before stripping are natural
complements. This is probably how things should have been all along even going
back to kmem ps days four years ago. Oh well. This change should make dealing
with x86, AXP, Sparc, etc binary formats for kernels a lot easier. All that is
required of System.map is that there be exactly 3 space delimited columns:
"address[single space]anything_with_no_spaces[single space]symbol[newline]"
[ Well, ok, the addresses have to be zero padded so that lexicographic order is
the same as numerical order and the addresses all have to be the same ascii
length and I haven't tested to see how resilient it is to bogus internal records
like multiple newlines in a row. Hopefully aren't editting and commenting their
System.map files. ;-) This could actually work on "sort < /proc/ksyms" also if
we generalize the behavior to work with either two or three columns. ]
We take advantage of the following files in this order:
PS_SYSTEM_MAP # may only point to System.map, not psdatabase
/boot/System.map-`uname -r`, # Note: this is the preferred path
/boot/System.map
/lib/modules/`uname -r`/System.map
/etc/psdatabase
/boot/psdatabase-`uname -r`,
/boot/psdatabase,
/lib/modules/`uname -r`/psdatabase
The reason for the /lib/modules/*/file location is that I imagine many people
have enough trouble keeping track of kernel version-dependent files in the
filesystem as it is, so I didn't want to invent a new place. I keep things in
/boot myself and don't usually have more than 8 or so kernel versions, so this
works for me. I know not everyone uses modules, but it's just a search path
folks... In case it isn't obvious from all of the above, this means that
psupdate is no longer necessary. I include it in this release and include
recognition of it because I realize that some distributions may have scripts
which depend on the old semantics. I doubt there will ever be a compelling
reason to not include support for generating or reading the old psdatabase
files, but they aren't necessary anymore if you have the System.map files from
the kernel builds.
I'm not 100% sold on the ordering of the search path, but I think it makes
sense. If you have reasons why it should be different I may be convincable.
Also I'm interested in exactly what the output of 'nm' looks like on Alpha,
Sparc, etc., architectures. It should be easy enough to adapt the code if it is
basically the same format of <0 padded hex> ... <symbol>\n.
Thanks to Helmut Geyer for the idea of living off the System.map file natively
and Mike Dean for the idea of using an approximate binary search instead of
padding out the lines of System.map with tons of spaces to get equal record
lengths. The cost of doing it approximately is mild, mostly consisting of lots
of scans to get to the next or last newline and a logarithmically few extra
steps to get to the desired record. Only an order of magnitude guess for the
record length is necessary. The code is all mine, though, so all bugs are due
to me alone.
NEWS for version 0.99a of procps
================================
This is a quick bug-fix release to solve a few thorny problems with my probably
overzealous attempt to use the inline-assembly string.h and a Makefile bug or
two. It also fixes free to +/- the cached column too and makes it ignore the
new extra-pretty non-numeric lines that /proc/meminfo is spitting out. It also
fixes the lack of set_linux_verion() in 'w' that caused no command line to be
displayed. I am still working on a much condensed 'w' that should be a lot
easier to maintain and a readproctree that should be usable by both 'ps',
'pstree', and 'w'.
Apparently memory-mapped files are pretty broken before the early 1.3.X kernels
so I may have to rewrite devname.c to not use MAP_WRITE to create psdevtab. Some
people have been claiming that /dev changes at boot-up in some rc scripts. I'm
not really sure why they would want to do that. Seems kind of paranoid to
continually re-make /dev/log. Anyhow, I'm open to suggestions for psdevtab
behaviors. I've been thinking a /tmp/psdevtab fallback (with a careful world
readable umask to avoid repetition) or maybe a $HOME/.psdevtab fallback too.
NEWS for version 0.99 of procps
===============================
This file is a brief catalog of new features or developments in the package.
For general information about using the programs see their man pages.
NEW PACKAGES OR PROGRAMS
========================
LIBPROC
I've modularized some routines and fixed some long standing bugs. Replaced
the regex() recognition of /proc/PID with a simple check of the first
character of the filename being a digit which should be just as safe.
Added an opendir/readdir/closedir style interface to the process table. The
new interface seems cleaner, more intuitive and generally more applicable
(to me anyway). The only program which uses the new interface is ps. 'w'
will follow soon. 'top' may take a while longer... openproc,readproc, and
closeproc are implemented. I still want to do readproctab and rewindproc,
too though.
Added some kernel and package versioning things to make it easier to be run
time adaptable. Also updated sysinfo to understand any /proc/meminfo. A
/proc/stat parser should probably be in there as well with the appropriate
updates to vmstat and xcpustate.
The general direction procps should move in is lightweight command-line or
X11/Motif display/format programs and compartmentalized libproc routines to
parse all of the /proc files. This isolates the utilities from kernel
versioning.
TTY DEVICE NUMBER TO NAME RESOLUTION
Tty device name <-> number mapping has been completely generalized. It now
stat's every character special file in /dev and builds a memory mapped table
of device names indexed in a way that makes lookup of name from number a
fast, constant time process. The extra overhead incurred by building
/etc/psdevtab is non-negligible if you have a large /dev and permissions to
write the file (or its directory) are required to update the file (which is
done if it does not exist or if /dev is newer than /etc/psdevtab).
Hence `root' should `ps' shortly after any modification to /dev (or chmod
666 /etc/psdevtab :-) to avoid ordinary users rebuilding it over and over.
Since such modifications are rare, hopefully having a fallback $HOME
location will not be necessary. If the file is up to date, the overhead
incurred is very small. The generality bought is essentially optimal since
`ps' tailors its notion of name<->devno mapping according to the /dev of the
local system which is the canonical repository of this information.
In principle the name database could encompass all device majors. The file
would be large, but since I use mmap to access it, only the pages with the
major of interest are ever actually read off the disk. Right now I just use
the majors 2,3,4,5,19,20 which should cover both old and new systems with
both master and slave devices (I know... no reason for the masters... :-)
and the multiport serial devices. Also the 'mknewpty' script is provided
to update your /dev directory to the new pty master/slave devices.
The tty abbreviation scheme has been rationalized to match device special
files. The leading "tty" or "cu" is stripped, so cua3 -> a3, tty1 -> 1 and
ttyp9 -> p9. The t flag in ps now works with a full device names and to
pick up processes even if they aren't owned by the owner of ps, e.g.
"ps tcua0" picks up gpm for everyone. This seems desirable.
WATCH
A little program similar to another called 'vis' which simply re-displays
in a polling fashion the output of other programs. "watch ps --sort:utime"
might be dubbed a poor man's 'top'. Though this has been included in procps
for some time it hasn't been built or installed by default. It is now.
SKILL/SNICE
I have written the necessary machine-dependant file for 'skill' and tested
it somewhat under Linux. It seems to mostly work, but there are probably a
few glitches. This is a generalization of the 'killall' concept. You can
send signals or change priority based upon user, command basename (the same
that 'ps c' gives), terminal, etc. If you have a user named 'satan' "skill
-u satan" will kill all their processes. :-) See the man page for more
details.
An annoyance of the current implementation is that although permission to
send signals is based upon the real user id, /proc only gives the effective
uids of processes. Hence processes which you *could* kill because they're
suid-root (X say) won't be detected as kill-able. Either /proc + readproc
need to be updated to report the *real* uid to skil or skill needs to try to
send the signal even if the uid doesn't match.
CHANGES TO OLD PROGRAMS
=======================
MAKEFILE
The directory hierarchy has been restructured. It is now easier to have the
multiple components to the suite under nearly autonomous administration.
The library code has also been moved to a subdirectory. The best thing
about the new setup is that things like Imake generated Makefiles with
preconceived notions of 'make install' can be used without getting into the
business of re-writing component package makefiles.
There is now an option to build a shared libproc.a which reduces 'ps' and
'top' sizes by about 10K apiece. Simply change the value of SHARED. Also,
one may optionally install the library header files and archive/shared
object files into standard system directories. There are no library man
pages yet, but the headers are fairly descriptive.
PS
Several long standing bugs have been fixed and much of the internal code was
re-written to use my new directory-style interface to the process table. In
particular if sorting is disabled (with '-o') the process entries are output
to the terminal as soon as possible (making it more helpful under heavy
system load).
I am considering several new additional features to `ps' including
regex filtering of which processes to list,
"grep -s" silent testing for existing of processes matching criteria,
run-time/user-defined output formats.
I would also like to completely phase the w,top code which uses the snapshot
interface instead of the 'readproc' interface. And of course adding long
options for the rest of the options would be nice too (I may not get around
to doing this anytime really soon so patches which implement any of these
things would most likely be gleefully accepted).
PSUPDATE
psupdate has been updated to work with ELF kernels. If you compile it as
an ELF binary it will handle both a.out and ELF kernels. If you compile it
as an a.out binary it will only handle a.out kernels. Many thanks to Jeff
Uphoff.
psupdate has also been updated to work with any binary type supported
by libbfd. This is the default configuration.
Many thanks to David Mossberger-Tang.
TOP
A user-defined format would be nice here too. Alternate sorting criteria
(top memory users instead of top CPU users, etc.) may be another interesting
alternative. Of course the sorting in ps can do all of that, but it doesn't
have any optimal screen update action going down... :-)