diff --git a/NEWS b/NEWS index b1bcf5ff..dd682e2d 100644 --- a/NEWS +++ b/NEWS @@ -1,645 +1,43 @@ -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 " - 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. 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. -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 " 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 , -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> ... \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