Subject: New release of the procps suite
From: "Michael K. Johnson" <[email-masked]>
Date: 2 Jan 1994 18:05:48 +0200
Newsgroups: comp.os.linux.announce

procps-0.9 has been released, and is now available from
tsx-11.mit.edu:/pub/linux/BETA/procps/procps-0.9.tar.gz, and will be
available in time from sunsite.unc.edu somewhere.

Procps is a collection of utilities which gather their information
from the /proc filesystem, including ps, w, free, uptime, top, tload,
fuser, killall, pstree, XConsole, xload, xmem, and xidle.

This version adds some new functionality, as well as fixing some
rather large bugs perpetrated in the latest version, especially a
w that didn't know what anyone was doing.  Furthermore, JCPU should
now work more correctly with w.

Please read the README before doing installing -- it really does
contain important information.  A copy is appended to this message.

michaelkjohnson

README for version 0.9 of procps
================================
Read this, really.
==================

Thanks to all the people who have helped write programs and
documentation for this suite of /proc programs.  This should be the
final BETA release -- if this release shows few or no bugs, it will be
re-released in bug-free (hah) form as version 1.0.

Please send any comments to [email-masked]

Note: If you want to compile these programs under SLS 1.03, you are
on your own.  The SLS 1.03 kernel sources are broken.

Note 2: The default installation directory has been changed from /bin
to /usr/bin in an attempt to follow the draft FSSTND standard.  Please
make sure that you remove any old copies of these programs that are
still in /bin.  Warnings will be printed when you run "make install"
if any of the programs have copies in /bin.

Note 3: Please ignore any warnings about "`rcsid' defined but not used".

Here are the notes for the individual programs:

*PS*
In order to get WCHAN output for ps, you must update the psdatabase
for each new kernel.  Unlike with kmemps, no version checking is done
at this time, so if you forget to update the database, you'll get
funny addresses.  There is no "ps -U" option for updating the
psdatabase; instead, a psupdate program is included.  It defaults to
installing in /etc/psupdate, and can be put in your /etc/rc so that it
is called on boot, or in your /etc/lilo/install script (if you have
one).  Your choice.  Alternate namelist support is not available.  If
you want that, use kmemps.

Oh, yeah, psupdate is not suid root, and so you must be root to run
it.  If you like, make it suid root, and then anyone can run it.  I
don't guarantee that it is a safe suid program, but I don't know
anything in it to be unsafe, either.

If you don't want to deal with a psdatabase, you can safely ignore
this, and not create the psdatabase.  ps will simply default back to
numeric addresses in the WCHAN field.

The /etc/psupdate distributed in /procps is still not very good.  If
you want to use both procps and kmemps, *use kmemps* to create the
/etc/psdatabase.  THIS IS IMPORTANT.  /etc/psupdate makes a file
which, though it is mostly compatible, might cause problems on some
systems, maybe.

*TOP*
top now includes the much-wanted q command-line option.  This causes
redisplay to happen without pause, and, if you are superuser, it also
causes top to run at the highest possible priority.

top is now much more robust in its input handling.

*TLOAD*
tload is included.  This is now based on the kmem ps one.  I have also
included a different version with a slightly different display, called
tload2.c.  I have not included an entry in the makefile, but if you
want to play with it, be my guests.  Please tell me what you think,
and why, if you have any strong opinions on the subject.

*FREE*
Linus's free has been replaced with one that has slightly nicer
formating.  Linus's free has been renamed free.old.c, so if you prefer
the old style, simply "mv free.old.c free.c", "make free"

A new command line option, -t, has been added, that prints a "Total:"
line at the bottom.  I'd like to hear opinions on whether this should
be the default behavior or not.

*W AND UPTIME*
w and a real uptime are included.  They are not exactly the same as
the BSD ones, and I like them that way.  I personally feel that there
is at least one absolutely gratuitous bug in BSD's uptime: If no one
is logged in, it reports "0 user".  This probably didn't seem
important when it was written, but now "rsh <machine> uptime" can
report "0 user" and I find that silly, when it is just as easy to
write it right, "0 users", in the first place.  This w/uptime set are
*not* derived from the BSD source.  Larry Greenfield did most of the
writing for this one.  Thanks, Larry!  Thanks to
[email-masked] for writing the man pages for w and uptime,
too.

Another version of w, which has slightly nicer output, including the
hostname, but which doesn't work right, is provided in w2.c.  Use at
your own risk.

*FUSER*
Instead of documenting limitations, as the SunOS version does, Werner
fixed them while writing this version.  Fuser identifies processes
using files (similar to Sun's or SGI's fuser).

*KILLALL*
killall kills processes by name, e.g. "killall -HUP named".  Thanks,
Werner!

*PSTREE*
pstree shows the currently running processes as a tree.  Thanks again...

*X PROGRAMS*
If you want xload, please "make xload".  Ditto for xmem and XConsole.
To make all of the X programs, "make xprogs".  Because not everyone
has X, it is not part of the make all target.  The install target now
installs the application default files for both of these programs, if
the programs exist.

XConsole reads and displays messages from /proc/kmsg, and it also
displays the time, date, and kernel version number.  It needs to be
run suid root to read /proc/kmsg, and won't run otherwise.  DON'T USE
THIS IF YOU ARE USING ANY OTHER SYSLOG PACKAGE!!!!!!!!!!!!!!!!!!!!!!
THIS IS VITALLY IMPORTANT -- I WOULDN'T YELL OTHERWISE...

*BUGLETS*
Also, I know that the Makefile created by the Imakefile is not yet
used to its best advantage -- I am not a real X hacker, and all the X
programs were donated by someone else.  In the mean time, I
apologize for any damaged sensibilities.  If you are too offended, I
encourage you to send me a fixed version, preferably as a patch.

*GNU FINGER PATCH*
I have included a patch for gnu finger, in the file gfinger.patch.  It
allows gnu finger to get its information from the proc filesystem.

*TO MAKE THE PACKAGE*
You will probably want to examine the instdir, xinstdir, and
xdefinstdir variables, and change them if necessary.  You will also
have to be root to run `make install', as it chowns the executables to
root.  Note that they are *not* suid, though, except for Xconsole.

Oh, and as a reward for reading this README files through, here's how
to compile and install the whole package, using all the default programs
and directories:
	make
	su
	make xprogs
	make install
	exit
	make clean

Leave out the make xprogs if you don't have X installed.  Don't worry
too much about the su before make xprogs, as only XConsole is made suid
root, and that is pretty safe.  It doesn't accept input of any kind,
and only reads /proc/kmsg.  Indeed, reading /proc/kmsg is the only
reason why it is suid root.  See the warning above (under *X
PROGRAMS*) about XConsole

The utmp program is just for debugging.  Don't worry about it unless
you are having problems with any of these programs, you mail me, and I
ask you to run it.

--
Mail submissions for comp.os.linux.announce to: [email-masked]
PLEASE remember Keywords: and a short description of the software.