   [ Overview | Platforms | Downloads | Requirements | Documentation | Other
   ]

                       PSMON - Process Monitoring Daemon

   psmon is a Perl script which can be run as a stand alone program or a
   fully functional background daemon, capable of logging to syslog with
   customisable email notification facilities.

   The user defines a set of rules in an Apache-style plain text
   configuration file. These rules describe what processes should always be
   running on the system, and any limitations on concurrent instances, TTL
   and maximum CPU/memory usage of processes. psmon scans the UNIX process
   table and, using the set of rules defined in the configuration file, will
   respawn any dead processes, and/or slay or "deal with" any aggressive or
   illegal processes.

   Originally written and designed for use by a UK ISP, it is designed to be
   as flexible as posible, for use on a per-user, or system-wide server
   basis.

   For further detailed information on what psmon can do for you, how
   flexible it is and a list of all its features, please read the
   documentation. Please feel free to email me at nicolaworthington@msn.com
   with any questions, suggestions or bug reports you may have.

Platforms

   psmon is known to work fine on the following Linux distributions:

     * Red Hat Linux 6.0, 6.1, 6.2, 7.0, 7.1, 7.2, 7.3, 8.0, 9.0
     * Mandrake Linux 8.1, 9.0, 9.1 beta
     * Debian Woody, Potato, Sid
     * SuSE Linux 7.2, 7.3
     * Caldera OpenLinux 2.4

   Please let me know if you have tested it on any other platforms. Since it
   is written in Perl, using commonly available CPAN modules, it should be
   portable to most *NIX platforms without modification. Unfortunately I have
   not had the oppertunity to put this to the test, (yet).

Downloads

   2003/Mar/26
           Work is beginning on allowing regex style process scopes to match
           against cmndline information. Development versions are available
           from CVS. Not for use in live production environments.

   2003/Mar/25
           There is a typo in the main loop of release 1.0.3, of $O{pidfile}
           being referenced instead of $pidfile. This causes the --daemon
           functionality to fail. It snuk in when the pidfile variable was
           moved out of the globals in to a lexically scoped variable. It is
           fixed in the current devleopment CVS revision and will be fixed in
           the next tagged release.

   2003/Mar/19
           If you use the --user function of psmon, you must upgrade to
           version 1.0.2 or better. Earlier versions have a gaping bug
           whereby the either all or no processes in the process table are
           identified as being owned by the specified user.

   Recent stable releases:

     * Current stable release
       (http://www.nicolaworthington.com/software/psmon/cvs/psmon.tgz)
     * psmon 1.0.5 released 2004/Jul/29
       (http://www.nicolaworthington.com/software/psmon/cvs/psmon-1.0.5.tgz
       233k)
     * psmon 1.0.4 released 2003/Mar/25
       (http://www.nicolaworthington.com/software/psmon/cvs/psmon-1.0.4.tgz
       229k)
     * psmon 1.0.3 released 2003/Mar/20
       (http://www.nicolaworthington.com/software/psmon/cvs/psmon-1.0.3.tgz
       226k)
     * psmon 1.0.2 released 2003/Mar/19
       (http://www.nicolaworthington.com/software/psmon/cvs/psmon-1.0.2.tgz
       223k)
     * psmon 1.0.1 released 2003/Mar/17
       (http://www.nicolaworthington.com/software/psmon/cvs/psmon-1.0.1.tgz
       221k)
     * psmon 1.0.0 released 2003/Mar/12
       (http://www.nicolaworthington.com/software/psmon/cvs/psmon-1.0.0.tgz
       212k)

   Development CVS revisions:

     * View the development CVS repository at
       http://www.nicolaworthington.com/cvs/psmon/.
     * Download latest CVS revision in .tgz format from
       http://www.nicolaworthington.com/software/psmon/cvs/psmon-cvs.tgz.
     * Download latest CVS revision in .tar.bz2 format from
       http://www.nicolaworthington.com/software/psmon/cvs/psmon-cvs.tar.bz2.
     * Download latest CVS revision in .zip format from
       http://www.nicolaworthington.com/software/psmon/cvs/psmon-cvs.zip.

Requirements

   psmon is written in Perl, and has been confirmed to work with Perl
   versions 5.005_03, 5.60, 5.61 and 5.80. The following CPAN modules are
   also required:

     * POSIX (part of the standard Perl distribution)
     * Getopt::Long (part of the standard Perl distribution)
     * Net::SMTP (download)
     * Proc::ProcessTable (download)
     * Config::General (download)
     * Unix::Syslog (download)

   These Perl modules are included in the psmon tarball. The install.sh
   installation script will attempt to install any of these modules if are
   not already installed, with the exception of POSIX, Getopt::Long, and
   Net::SMTP. (The first two will always be present, and the latter can be
   installed manually from the libnet tar.gz file provided). See the CPAN FAQ
   at http://www.cpan.org/misc/cpan-faq.html and psmon documentation for
   further information.

Documentation

     o View the current HTML documentation at
       http://www.nicolaworthington.com/software/psmon/psmon.html.
     o Download the current man page documentation from
       http://www.nicolaworthington.com/software/psmon/psmon.1.
     o View the ChangeLog at
       http://www.nicolaworthington.com/software/psmon/ChangeLog.
     o View the old ChangeLog at
       http://www.nicolaworthington.com/software/psmon/ChangeLog.old.
     o View the default distribution configuration file at
       http://www.nicolaworthington.com/software/psmon/psmon.conf.

Other

   Mailing List
   The psmon-general list is a low traffic list for general discussion and
   accouncements relating to psmon.
   * Subscribe to the psmon-general mailing list at
     http://lists.sourceforge.net/lists/listinfo/psmon-general.
   * Search the psmon-general mailing list archive at
     http://sourceforge.net/mailarchive/forum.php?forum=psmon-general.

     o View the TODO list at
       http://www.nicolaworthington.com/software/psmon/psmon.html#todo.
     o This project is licensed under the terms of the GNU General Public
       License.
     o Visit the psmon Freshmeat project page at
       http://freshmeat.net/projects/psmon/.
     o Visit the psmon Savannah project page at
       http://savannah.gnu.org/projects/psmon/.
     o Visit the psmon SourceForge project page at
       http://sourceforge.net/projects/psmon/.
     o Please email the author Nicola Worthington at
       nicolaworthington@msn.com for help, suggestions, bug reports etc.
