]> granicus.if.org Git - procps-ng/commitdiff
NEWS should be NEW
authoralbert <>
Sun, 6 Oct 2002 21:03:29 +0000 (21:03 +0000)
committeralbert <>
Sun, 6 Oct 2002 21:03:29 +0000 (21:03 +0000)
NEWS

diff --git a/NEWS b/NEWS
index b1bcf5ff59bbe8d3654562d120f070dba896a78a..dd682e2d8862d933fedd1a68b293ea2bdebfdcb6 100644 (file)
--- a/NEWS
+++ b/NEWS
-NEWS: what has changed recently with procps, in reverse cronological order.
-Please send bug reports to acahalan@cs.uml.edu
-
-*** THIS FILE DOES NOT INCLUDE RECENT CHANGES ***
-
-
-NEWS for version 2.0.7 of procps
-
-SMP support has been added to top.  This adds one line to the screen
-for every processor.  There is also an (off by default) field to show
-the last processor that a process used that replaced the long-dead
-LIB field.  Please send feedback, positive and negative, on these
-changes to procps-bugs@redhat.com
-
-The libproc soname has changed to 2.0.7 because of a structure
-change required to add SMP support.
-
-Two programs inspired by Solaris's /usr/proc/bin collection have
-been added: pgrep and pkill.  By default, for FSSTND/FHS/LSB compliance,
-these are installed in /usr/bin; if you want, you can change PROCDIR
-in Makefile to move them.  You can also make a symlink from
-/usr/proc/bin to /usr/bin if you like.
-
-The Makefiles have been sanitized a bit more; they are now less messy
-than they were.  There is less duplication between the Makefiles now.
-
-The man pages that use tables have been fixed to work work broken
-versions of man.
-
-The old wmconfig file (specific to Red Hat) has been replaced with a
-desktop file (common across GNOME and KDE).
-
-sysctl returns an error code in a condition in which it didn't before,
-and handles EOF correctly.
-
-top now only loads System.map when it is actually going to make use
-of it.
-
-vmstat has its buffer size increased and handles page size dynamically.
-
-w has its year display fixed to show the year 2000 as 00 instead of 0,
-and to try harder to find a process to display.
-
-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... :-)
+Recent changes:
+
+designed to support Linux 2.0 through 2.5.41 and beyond
+new top, with optional: color, windowing, SMP stats
+runs faster
+more "it crashes" bugs fixed
+top shows IO-wait time
+vmstat can show active/inactive memory stats
+real-time info supported in ps
+correct "ps -o size" and "ps --sort size"
+new maintainers
+reduced memory usage for ps
+allow large PIDs to be specified
+SELINUX support is just a recompile away
+the "F" column shrank, so "ps -l" has more command name room
+64-bit time reduces the overflow problem
+support S/390, IA-64 emulator, and user-mode Linux
+oldps is gone
+configure script -- use "make -f Makefile.noam" as a backup
+"w" program better at determining what a user is doing
+more stable
+code at http://procps.sf.net/ now (SourceForge)
+
+Earlier changes, for those not using Debian already:
+
+more stable
+runs faster
+-F format option
+better error reporting in ps for unknown format specifiers
+BSD's sysctl options -b and -X
+top displays well on large-memory systems
+old BSD-style select-by-PID ("ps l$$")
+15-character user names
+ps 'f' ASCII art forest fixed
+add SIGSYS on i386
+top reports real RSS value
+large-memory systems work
+minimal ps program for embedded systems (minimal.c)
+BSD personality process selection fixed
+support locale (French) with ',' and '.' mixed up
+pgrep program
+includes the "kill" and "nice" programs
+don't chop non-tty ps output at 80 columns