
Treeps 1.1      X/Motif/LessTif based unix/linux process monitor.
------------

Treeps is a X/Motif program for Unix/Linux that is designed to make
monitoring and interacting with the running programs on your system easy
and intuative. A "real time" tree view shows the relationships between the
processes and is color coded to provide easy interpretation of various
values. The process tree displays any combination of users/groups and
can be used to drill down into process details and then extract key
fields for continous monitoring. A number of predefined actions can be
performed on processes, such as signaling(killing) or viewing the man
page. Various control mechanisms can be used to fine tune the display
and adjust sampling rates etc. There are also a large number of other
features, please read the man page and/or the online help.

Requirements
------------

	Motif 1.2+ or LessTif 0.88.1+
	Pentium Class machine or higher

Quick Start
-----------

	make
	make clean
	su root
	   make install
	   exit
	treeps


Change Summary
--------------
The 1.1 release of treeps adds a significant number of new features, fixes a 
large number of bugs and includes better support for Linux.  New features
include:

	Process decorations:

		Per process "LED" indicators for load/state/priority
		Leader bars to show Session and Process Group Leaders

	Process tips - i.e. tooltip type feature for nodes in the tree

	Widget tips(a.k.a. tooltips) for the icons.  

	Updates to button bar - better usability, color, larger and more icons.

	Geometry packing option to allow tree to use much less space.

	Smarter auto window sizing - now with scroll bars.
	
	A number of improvements to the Tree widget, esp. star layout.

	Single click to kill!! All signals now supported.

	More linux specific details, i.e. open fds, mem map info, process
	environment, CWD, exe location, and ability to view raw values.

	Improved usability of group/user tree - now much more intuative to
	select which user processes to view.

	Many resource file changes/fixes, added new "just ran" state which
	makes it a lot easier to see processes that are "running".

	Added more actions, i.e. man command, renice, trace system calls.

	Fixed all known major bugs, core dumps.


The initial 1.1 releases are targeted for linux only, the resource files
are out of date for Solaris/Unixware ... and will be updated in a
forthcoming point release.


Target Platforms
----------------

Version 1.1 should build on the following platforms

	System V Release 4 - Generic Release
	Unixware 2.0       - With support for LWP
	Linux 		   - Tested on Red Hat 5.1 (Motif,LessTif)
	Solaris		   - Tested on 5.3, 5.4, 5.5 (Motif,CDE)


Recent Changes
--------------

See doc/ChangeLog-1.1 for details of changes

Previous Test Platforms
-----------------------

Previous versions had been built and tested on 

	Unix 5.4	UNIX_SV system 4  2.0 i386 x86at
    	Unixware 2.0	UNIX_SV system 4.2MP 2.01 i386 x86at
	Solaris 5.3	SunOS hydra 5.3 Generic_Patch sun4m sparc
	
	
Current Tested Platforms
------------------------

This version has been built and tested on

	Linux  		2.0.34 #4 Tue Oct 13 15:53:07 PDT 1998 i686 unknown


How to Build
============

	The following builds a motif version:

		make

	If that doesn't work, or if you want more details, read the
	platform specific readme's in the platform subdirectory(i.e.
	what the command uname(1) returns).

	Once built, run 
	
		make clean 
		
	to remove .o's

How to install
==============

	To do a general install, you need to be root, so

		su root
		make install

	
	A single user install is possible on Linux and puts treeps
	in the $HOME/bin directory. This can be done with

		make install

	Note: The program is now installed setuid to root, this enables

		running renice to decrease nice value
		trace process system calls
		view some details on processes not owned by current user:

			CWD, exe, fds, ...

	     As with any setuid program there is an opportunity for
	     security violations. I have taken precautions to prevent this
	     i.e. using absolute paths ..., but if you are installing
	     on a multiuser system you may want to make it non-suid. The
	     program will still function, except the above features won't
	     work(it generates appropriate error messages).



	If you compiled against LessTif or are running against a lesstif
	library, then you *MUST* install the lesstif resource file found
	in Res/linux. Copy it to app-defaults/Treeps or to $HOME/Treeps

How to Run
==========

	Type,

		treeps


Documentation
-------------

The man page(doc/treeps.1) contains a few useful pointers on using the
program, generally you should be able to figure it out by just running
the program and refering to the online help.  Try pointing and clicking
on things.

This program is free but is copyrighted, please read the copyrights files
in the doc directory. A number of persons have helped along the way,
these brave souls are listed in the HallOfFame!!

I have a long list of ideas, these are organized in the Todo
file. 


Build Time Options
------------------

The program can be compiled as "Trusted", in which case you will be able
to send signals to any process, including the ability to kill them. This
is useful if you are running treeps on a single user system and want to
be able to do things like ask inetd to reload it's specifications from
/etc/inet.d.  However it is somewhat dangerous, as you can easily kill
an important process by mistake(yup it happened to me once!).  So it's
up to you, you want this feature, then set the following value(found in
${platform}/config.h) to 1.

	#define TRUSTED_USER    0

Then set the program to be setuid to root which also enables
increasing process priorities, running trace on any process,
and gathering data only visible to root.


Request
-------

Once you get it up and running, please send me an email to
let me know what system you are on. The following would be
great:

	uname -a | gmd@slip.net

George MacDonald  gmd@slip.net

