-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