Merge tag 'upstream/1.08'

Upstream version 1.08
This commit is contained in:
Jan Wagner 2013-11-06 09:53:41 +01:00
commit a20812d2bc
9 changed files with 338 additions and 184 deletions

265
ChangeLog
View file

@ -2,90 +2,119 @@
## autogenerated ChangeLog -- don't edit
##
2008-12-25 Thursday 17:01 Rocky Bernstein <rocky@cpan.org>
2009-02-19 Thursday 17:00 Rocky Bernstein <rocky@gnu.org>
* configure.ac: We're in 1.08 now
2009-02-19 Thursday 16:57 Rocky Bernstein <rocky@gnu.org>
* THANKS, ps-watcher.in.in: pidfile support from Jan Wagner and
friends
2008-12-31 Wednesday 11:25 Rocky Bernstein <rocky@gnu.org>
* home-page/: index.html: Presumably a little more compliant
2008-12-31 Wednesday 11:17 Rocky Bernstein <rocky@gnu.org>
* home-page/index.html: Convert to use css
2008-12-25 Thursday 17:34 Rocky Bernstein <rocky@gnu.org>
* .cvsignore: This time, for sure!
2008-12-25 Thursday 17:33 Rocky Bernstein <rocky@gnu.org>
* cvs2cl_usermap: More administrivia
2008-12-25 Thursday 17:31 Rocky Bernstein <rocky@gnu.org>
* .cvsignore: Administrivia
2008-12-25 Thursday 17:01 Rocky Bernstein <rocky@gnu.org>
* Makefile.am, samples/root-procs.ini: Add sample code using
perl-action.
2008-12-25 Thursday 16:42 Rocky Bernstein <rocky@cpan.org>
2008-12-25 Thursday 16:42 Rocky Bernstein <rocky@gnu.org>
* configure.ac, tests/paction.cnf: More Darwin9 fixes: tty can be
many token so put at end of parsing.
2008-12-25 Thursday 16:39 Rocky Bernstein <rocky@cpan.org>
2008-12-25 Thursday 16:39 Rocky Bernstein <rocky@gnu.org>
* Makefile.am, NEWS, configure.ac: Get ready for 1.07 release
2008-12-23 Tuesday 11:09 Rocky Bernstein <rocky@cpan.org>
2008-12-23 Tuesday 11:09 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Typo: svz -> vsz. Thanks to Oliver Guerrier for
pointing out.
2008-12-18 Thursday 01:07 Rocky Bernstein <rocky@cpan.org>
2008-12-18 Thursday 01:07 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Bug in duplicating log
2008-12-17 Wednesday 20:08 Rocky Bernstein <rocky@cpan.org>
2008-12-17 Wednesday 20:08 Rocky Bernstein <rocky@gnu.org>
* ANNOUNCE, AUTHORS, configure.ac: test cygwin and NetBSD and
update contact info
2008-12-17 Wednesday 19:28 Rocky Bernstein <rocky@cpan.org>
2008-12-17 Wednesday 19:28 Rocky Bernstein <rocky@gnu.org>
* post-configure.in: Tolerate older Perl's enough to warn that we
can't use them.
2008-12-17 Wednesday 18:31 Rocky Bernstein <rocky@cpan.org>
2008-12-17 Wednesday 18:31 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Linux newline nuke fixes along the lines of the
Darwin code
2008-12-17 Wednesday 17:06 Rocky Bernstein <rocky@cpan.org>
2008-12-17 Wednesday 17:06 Rocky Bernstein <rocky@gnu.org>
* configure.ac, ps-watcher.in.in: Better about dealing with
unwritable log file
2008-12-17 Wednesday 16:31 Rocky Bernstein <rocky@cpan.org>
2008-12-17 Wednesday 16:31 Rocky Bernstein <rocky@gnu.org>
* configure.ac: In 1.07 now
2008-12-17 Wednesday 16:27 Rocky Bernstein <rocky@cpan.org>
2008-12-17 Wednesday 16:27 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Changes for Darwin9
2006-11-17 Friday 14:02 Rocky Bernstein <rocky@cpan.org>
2006-11-17 Friday 14:02 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in, home-page/index.html: Small typos.
2006-09-21 Thursday 23:07 Rocky Bernstein <rocky@cpan.org>
2006-09-21 Thursday 23:07 Rocky Bernstein <rocky@gnu.org>
* home-page/index.html: Correct for new sf link
2006-03-11 Saturday 03:16 Rocky Bernstein <rocky@cpan.org>
2006-03-11 Saturday 03:16 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: More doc changes
2006-03-10 Friday 19:33 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 19:33 Rocky Bernstein <rocky@gnu.org>
* NEWS: Last change before release
2006-03-10 Friday 19:07 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 19:07 Rocky Bernstein <rocky@gnu.org>
* configure.ac, post-configure.in, ps-watcher.in.in,
tests/basic.t.in: Deal with time on netbsdelf and regression
tests. basic.t.in: generalize time handling - not just cygwin.
post-configure.in configure.ac: clean up a little.
2006-03-10 Friday 13:12 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 13:12 Rocky Bernstein <rocky@gnu.org>
* tests/: args.t.in, basic.t.in, count.t.in, full.t.in: Run
ps-watcher in tests with configured Perl location.
2006-03-10 Friday 12:47 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 12:47 Rocky Bernstein <rocky@gnu.org>
* tests/: full.cnf, full.t.in: Add a test and adjust for cygwin.
2006-03-10 Friday 12:26 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 12:26 Rocky Bernstein <rocky@gnu.org>
* configure.ac, post-configure.in, ps-watcher.in.in,
tests/basic.t.in: Changes to make this work on more
@ -93,56 +122,56 @@
to get invocation work eveywhere basic.t.in: test for cputime;
forgot !
2006-03-10 Friday 04:51 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 04:51 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Darwin 8 is okay
2006-03-10 Friday 04:50 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 04:50 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Bug in running right Perl in post-configure
2006-03-10 Friday 03:49 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 03:49 Rocky Bernstein <rocky@gnu.org>
* configure.ac, post-configure.in: Use PERL value specified more.
2006-03-10 Friday 03:39 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 03:39 Rocky Bernstein <rocky@gnu.org>
* NEWS, configure.ac: Add configure option to specify Perl location
2006-03-10 Friday 03:24 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 03:24 Rocky Bernstein <rocky@gnu.org>
* tests/args.t.in: typo: it's ok not okay.
2006-03-10 Friday 03:21 Rocky Bernstein <rocky@cpan.org>
2006-03-10 Friday 03:21 Rocky Bernstein <rocky@gnu.org>
* configure.ac, ps-watcher.in.in, tests/args.t.in,
tests/basic.t.in, tests/full.t.in, tests/paction.t: Add minimal
cygwin support
2006-03-09 Thursday 17:37 Rocky Bernstein <rocky@cpan.org>
2006-03-09 Thursday 17:37 Rocky Bernstein <rocky@gnu.org>
* configure.ac, post-configure.in, tests/01.pod.t.in,
tests/Makefile.am: 01.pod.t.in: add POD testing routine
configure.ac: do chmod +x on perl-substituted files.
2006-03-09 Thursday 16:46 Rocky Bernstein <rocky@cpan.org>
2006-03-09 Thursday 16:46 Rocky Bernstein <rocky@gnu.org>
* NEWS, ps-watcher.in.in: Document security better.
2006-03-08 Wednesday 22:52 Rocky Bernstein <rocky@cpan.org>
2006-03-08 Wednesday 22:52 Rocky Bernstein <rocky@gnu.org>
* configure.ac, ps-watcher.in.in, home-page/index.html: Get ready
for 1.06 release.
2006-03-08 Wednesday 22:24 Rocky Bernstein <rocky@cpan.org>
2006-03-08 Wednesday 22:24 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Correction in getting signal name.
2006-03-08 Wednesday 19:21 Rocky Bernstein <rocky@cpan.org>
2006-03-08 Wednesday 19:21 Rocky Bernstein <rocky@gnu.org>
* touch.pl: Reinstate since Makefile.am uses.
2006-03-08 Wednesday 19:15 Rocky Bernstein <rocky@cpan.org>
2006-03-08 Wednesday 19:15 Rocky Bernstein <rocky@gnu.org>
* AUTHORS, Makefile.am, cvs2cl_usermap, post-configure.in,
ps-watcher.in.in, touch.pl: ps-watcher.in.in: Wasn't terminating
@ -152,11 +181,11 @@
*: rocky@panix.com -> rocky@cpan.org touch.pl: now handled inside
post-configure by Perl
2006-02-03 Friday 02:23 Rocky Bernstein <rocky@cpan.org>
2006-02-03 Friday 02:23 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: One more small typo.
2006-02-03 Friday 02:15 Rocky Bernstein <rocky@cpan.org>
2006-02-03 Friday 02:15 Rocky Bernstein <rocky@gnu.org>
* post-configure.in, ps-watcher.in.in, home-page/index.html: Mostly
small changes:
@ -169,41 +198,41 @@
home-page/index.html: Probably remove a W3C error.
2006-01-17 Tuesday 10:00 Rocky Bernstein <rocky@cpan.org>
2006-01-17 Tuesday 10:00 Rocky Bernstein <rocky@gnu.org>
* home-page/index.html: Make valid HTML as per W3C.
2005-10-12 Wednesday 01:14 Rocky Bernstein <rocky@cpan.org>
2005-10-12 Wednesday 01:14 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in, NEWS: Add BUGS section to manual to describe
common problems.
2005-09-12 Monday 17:03 Rocky Bernstein <rocky@cpan.org>
2005-09-12 Monday 17:03 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Now in 1.06cvs territory
2005-09-12 Monday 17:03 Rocky Bernstein <rocky@cpan.org>
2005-09-12 Monday 17:03 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Guard against uninitialized variables
2005-06-22 Wednesday 01:59 Rocky Bernstein <rocky@cpan.org>
2005-06-22 Wednesday 01:59 Rocky Bernstein <rocky@gnu.org>
* home-page/index.html: <Code> instead of <kbd>?
2005-06-22 Wednesday 01:57 Rocky Bernstein <rocky@cpan.org>
2005-06-22 Wednesday 01:57 Rocky Bernstein <rocky@gnu.org>
* home-page/index.html: Correct grammar courtesy of Sir Monitor
Lizard, Ph. Mad.
2005-05-17 Tuesday 22:00 Rocky Bernstein <rocky@cpan.org>
2005-05-17 Tuesday 22:00 Rocky Bernstein <rocky@gnu.org>
* NEWS: What's new.
2005-05-17 Tuesday 09:56 Rocky Bernstein <rocky@cpan.org>
2005-05-17 Tuesday 09:56 Rocky Bernstein <rocky@gnu.org>
* configure.ac: NetBSD works like FreeBSD
2005-05-17 Tuesday 09:52 Rocky Bernstein <rocky@cpan.org>
2005-05-17 Tuesday 09:52 Rocky Bernstein <rocky@gnu.org>
* COPYING, Makefile.am, NEWS, config.guess, config.sub,
configure.ac, missing, post-configure.in, docs/Makefile.am,
@ -212,45 +241,45 @@
GPL address change.
2005-04-09 Saturday 18:06 Rocky Bernstein <rocky@cpan.org>
2005-04-09 Saturday 18:06 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Like this a tad better.
2005-04-04 Monday 23:58 Rocky Bernstein <rocky@cpan.org>
2005-04-04 Monday 23:58 Rocky Bernstein <rocky@gnu.org>
* NEWS, ps-watcher.in.in: Note recent change.
2005-04-04 Monday 23:53 Rocky Bernstein <rocky@cpan.org>
2005-04-04 Monday 23:53 Rocky Bernstein <rocky@gnu.org>
* THANKS: Add thanks to Iñaki Sánchez.
2005-04-04 Monday 23:50 Rocky Bernstein <rocky@cpan.org>
2005-04-04 Monday 23:50 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in, tests/basic.cnf.in: Allow $ps_pat to be used in
action. Patch courtesy of Iñaki Sánchez. (i s a n c h e z at
unav dot es)
2004-09-11 Saturday 13:29 Rocky Bernstein <rocky@cpan.org>
2004-09-11 Saturday 13:29 Rocky Bernstein <rocky@gnu.org>
* docs/.cvsignore: More pod2htm stuff.
2004-09-09 Thursday 10:58 Rocky Bernstein <rocky@cpan.org>
2004-09-09 Thursday 10:58 Rocky Bernstein <rocky@gnu.org>
* NEWS, cvs2cl_header, cvs2cl_usermap: ChangeLog-creation
improvements.
2004-09-07 Tuesday 13:51 Rocky Bernstein <rocky@cpan.org>
2004-09-07 Tuesday 13:51 Rocky Bernstein <rocky@gnu.org>
* Makefile.am, ps-watcher.in.in, docs/Makefile.am,
samples/port-watch.ini: Make distcheck works. Show how to use
$PROLOG to do a no-ps like thing such as watching a port (via
lsof).
2004-05-26 Wednesday 13:46 Rocky Bernstein <rocky@cpan.org>
2004-05-26 Wednesday 13:46 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Small change.
2004-05-26 Wednesday 13:42 Rocky Bernstein <rocky@cpan.org>
2004-05-26 Wednesday 13:42 Rocky Bernstein <rocky@gnu.org>
* Makefile.am, configure.ac, ps-watcher.in.in, docs/Makefile.am:
ps-watcher.in.in: smallish changes - call closelog on
@ -264,313 +293,313 @@
configure.ac: now in version 1.05 now. Allow maintainer mode (to
create ChangeLog)
2004-02-15 Sunday 12:03 Rocky Bernstein <rocky@cpan.org>
2004-02-15 Sunday 12:03 Rocky Bernstein <rocky@gnu.org>
* docs/Makefile.am: Set title to name without the .in.
2004-01-18 Sunday 12:20 Rocky Bernstein <rocky@cpan.org>
2004-01-18 Sunday 12:20 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Update copyright.
2004-01-18 Sunday 11:49 Rocky Bernstein <rocky@cpan.org>
2004-01-18 Sunday 11:49 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Improve documentation with respect to
perl-action.
2004-01-15 Thursday 03:23 Rocky Bernstein <rocky@cpan.org>
2004-01-15 Thursday 03:23 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: perldoc fix.
2004-01-15 Thursday 03:02 Rocky Bernstein <rocky@cpan.org>
2004-01-15 Thursday 03:02 Rocky Bernstein <rocky@gnu.org>
* tests/paction.t: Regression test for $PROLOG, $EPILOG and
perl-action.
2004-01-15 Thursday 03:00 Rocky Bernstein <rocky@cpan.org>
2004-01-15 Thursday 03:00 Rocky Bernstein <rocky@gnu.org>
* configure.ac, ps-watcher.in.in, tests/Makefile.am,
tests/paction.cnf: Add $PROLOG, $EPILOG and perl-action sections.
Allows one to accumulate information over all processes and take
action on that.
2004-01-10 Saturday 04:39 Rocky Bernstein <rocky@cpan.org>
2004-01-10 Saturday 04:39 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Documentation enhancement, I think.
2003-11-22 Saturday 12:31 Rocky Bernstein <rocky@cpan.org>
2003-11-22 Saturday 12:31 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: And another formatting change...
2003-11-22 Saturday 12:27 Rocky Bernstein <rocky@cpan.org>
2003-11-22 Saturday 12:27 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: One more trivial typo....
2003-11-22 Saturday 12:26 Rocky Bernstein <rocky@cpan.org>
2003-11-22 Saturday 12:26 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Documentation typo.
2003-11-22 Saturday 12:01 Rocky Bernstein <rocky@cpan.org>
2003-11-22 Saturday 12:01 Rocky Bernstein <rocky@gnu.org>
* NEWS, configure.ac: Get ready for new (minor) release.
2003-11-21 Friday 02:36 Rocky Bernstein <rocky@cpan.org>
2003-11-21 Friday 02:36 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in, tests/basic.cnf.in, tests/basic.t.in: Add
first-trigger feature.
2003-09-11 Thursday 03:17 Rocky Bernstein <rocky@cpan.org>
2003-09-11 Thursday 03:17 Rocky Bernstein <rocky@gnu.org>
* NEWS: Get ready for a release.
2003-09-10 Wednesday 07:30 Rocky Bernstein <rocky@cpan.org>
2003-09-10 Wednesday 07:30 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Fix example configuration as suggested in bug
#776229.
2003-09-05 Friday 00:23 Rocky Bernstein <rocky@cpan.org>
2003-09-05 Friday 00:23 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: More complicated trigger example suggested by
jason
2003-09-03 Wednesday 02:04 Rocky Bernstein <rocky@cpan.org>
2003-09-03 Wednesday 02:04 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Add troubleshooting section
2003-09-03 Wednesday 01:42 Rocky Bernstein <rocky@cpan.org>
2003-09-03 Wednesday 01:42 Rocky Bernstein <rocky@gnu.org>
* configure.ac, ps-watcher.in.in: Fixes for FreeBSD
2003-08-31 Sunday 21:22 Rocky Bernstein <rocky@cpan.org>
2003-08-31 Sunday 21:22 Rocky Bernstein <rocky@gnu.org>
* tests/basic.cnf.in: perhaps some processes use so little CPU that
the elapsed time will round to zero. Deal with it.
2003-08-30 Saturday 20:49 Rocky Bernstein <rocky@cpan.org>
2003-08-30 Saturday 20:49 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Update date.
2003-08-29 Friday 10:49 Rocky Bernstein <rocky@cpan.org>
2003-08-29 Friday 10:49 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Get ready for another release.
2003-08-29 Friday 10:48 Rocky Bernstein <rocky@cpan.org>
2003-08-29 Friday 10:48 Rocky Bernstein <rocky@gnu.org>
* tests/: args.t.in, basic.t.in, count.t.in, full.t.in: Regression
tests need to deal with timestamped output.
2003-08-29 Friday 10:47 Rocky Bernstein <rocky@cpan.org>
2003-08-29 Friday 10:47 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Add syslog-like timestamp to logfile output.
Problems with getting ps-output now appears only on debug output.
2003-08-29 Friday 10:45 Rocky Bernstein <rocky@cpan.org>
2003-08-29 Friday 10:45 Rocky Bernstein <rocky@gnu.org>
* post-configure.in: Use -w (warning) on perl invocation
2003-08-13 Wednesday 02:33 Rocky Bernstein <rocky@cpan.org>
2003-08-13 Wednesday 02:33 Rocky Bernstein <rocky@gnu.org>
* configure.ac: PS_CAN_RETURN_MULTIPLE_LINES not set on AIX which
broke it.
2003-07-11 Friday 05:56 Rocky Bernstein <rocky@cpan.org>
2003-07-11 Friday 05:56 Rocky Bernstein <rocky@gnu.org>
* Makefile.am: Add sample files
2003-07-11 Friday 05:47 Rocky Bernstein <rocky@cpan.org>
2003-07-11 Friday 05:47 Rocky Bernstein <rocky@gnu.org>
* configure.ac: typo
2003-07-11 Friday 05:46 Rocky Bernstein <rocky@cpan.org>
2003-07-11 Friday 05:46 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Get ready for 1.0 release.
2003-07-11 Friday 05:43 Rocky Bernstein <rocky@cpan.org>
2003-07-11 Friday 05:43 Rocky Bernstein <rocky@gnu.org>
* Makefile.am, tests/Makefile.am, tests/args.t.in,
tests/count.t.in, tests/full.t.in: Make "make distcheck" work.
2003-07-11 Friday 05:42 Rocky Bernstein <rocky@cpan.org>
2003-07-11 Friday 05:42 Rocky Bernstein <rocky@gnu.org>
* THANKS: Update as appropriate.
2003-07-10 Thursday 12:20 Rocky Bernstein <rocky@cpan.org>
2003-07-10 Thursday 12:20 Rocky Bernstein <rocky@gnu.org>
* configure.ac, post-configure.in: A tad better for making "make
distcheck" work: Use $srcdir in post-configure and arrange for
srcdir to be passed in.
2003-07-10 Thursday 11:50 Rocky Bernstein <rocky@cpan.org>
2003-07-10 Thursday 11:50 Rocky Bernstein <rocky@gnu.org>
* THANKS, TODO, config.cache, configure.ac, ps-watcher.in.in: Deal
with ps (e.g. Solaris's) which return more than one line for a
single pid.
2003-07-10 Thursday 11:42 Rocky Bernstein <rocky@cpan.org>
2003-07-10 Thursday 11:42 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Stupid mistake - comments are # not /* */.
2003-05-19 Monday 16:33 Rocky Bernstein <rocky@cpan.org>
2003-05-19 Monday 16:33 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Accomodate darwin6
2003-05-19 Monday 16:33 Rocky Bernstein <rocky@cpan.org>
2003-05-19 Monday 16:33 Rocky Bernstein <rocky@gnu.org>
* tests/args.t.in: Add one test of --nosyslog
2003-05-19 Monday 15:58 Rocky Bernstein <rocky@cpan.org>
2003-05-19 Monday 15:58 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Add AIX support.
2003-05-16 Friday 00:12 Rocky Bernstein <rocky@cpan.org>
2003-05-16 Friday 00:12 Rocky Bernstein <rocky@gnu.org>
* README: IniConf is now called Config::IniFiles
2003-03-06 Thursday 05:57 Rocky Bernstein <rocky@cpan.org>
2003-03-06 Thursday 05:57 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Failed full test. Need to add -x.
2003-03-06 Thursday 05:48 Rocky Bernstein <rocky@cpan.org>
2003-03-06 Thursday 05:48 Rocky Bernstein <rocky@gnu.org>
* tests/full.cnf: Don't assume first is pid 1!
2003-03-06 Thursday 05:37 Rocky Bernstein <rocky@cpan.org>
2003-03-06 Thursday 05:37 Rocky Bernstein <rocky@gnu.org>
* configure.ac, tests/Makefile.am, tests/.cvsignore,
tests/full.cnf, tests/full.t.in: Add test that we can trigger on
watching processes other than the ones under our account.
2003-03-06 Thursday 03:54 Rocky Bernstein <rocky@cpan.org>
2003-03-06 Thursday 03:54 Rocky Bernstein <rocky@gnu.org>
* Makefile.am, NEWS, config.guess, configure.ac, docs/Makefile.am,
tests/Makefile.am: Changes for Mac OS/X
2003-03-04 Tuesday 18:01 Rocky Bernstein <rocky@cpan.org>
2003-03-04 Tuesday 18:01 Rocky Bernstein <rocky@gnu.org>
* aclocal.m4, docs/Makefile.am, tests/Makefile.in: Add more
automake conversion idioms
2003-03-04 Tuesday 14:14 Rocky Bernstein <rocky@cpan.org>
2003-03-04 Tuesday 14:14 Rocky Bernstein <rocky@gnu.org>
* autogen.sh: Omitted running aclocal, autoconf, automake...
2003-03-04 Tuesday 14:08 Rocky Bernstein <rocky@cpan.org>
2003-03-04 Tuesday 14:08 Rocky Bernstein <rocky@gnu.org>
* docs/: Makefile.am, Makefile.in: More automake conversion pains.
2003-03-04 Tuesday 14:05 Rocky Bernstein <rocky@cpan.org>
2003-03-04 Tuesday 14:05 Rocky Bernstein <rocky@gnu.org>
* .cvsignore, MANIFEST: MANIFEST: not used in automake
2003-03-04 Tuesday 14:03 Rocky Bernstein <rocky@cpan.org>
2003-03-04 Tuesday 14:03 Rocky Bernstein <rocky@gnu.org>
* NEWS, autogen.sh: autogen.sh: useful for CVS NEWS: what's been
happening?
2003-03-04 Tuesday 13:59 Rocky Bernstein <rocky@cpan.org>
2003-03-04 Tuesday 13:59 Rocky Bernstein <rocky@gnu.org>
* Makefile.am, Makefile.in: More automake conversion work.
Makefile.am: forgot to add Makefile.PL. Makefile.in: superceded
by Makfile.am
2003-03-04 Tuesday 13:55 Rocky Bernstein <rocky@cpan.org>
2003-03-04 Tuesday 13:55 Rocky Bernstein <rocky@gnu.org>
* AUTHORS, Makefile.am, Makefile.in, NEWS, aclocal.m4, version,
docs/Makefile.am, docs/Makefile.in, tests/Makefile.am,
tests/Makefile.in: Convert to use Makefile.am
2003-03-04 Tuesday 02:53 Rocky Bernstein <rocky@cpan.org>
2003-03-04 Tuesday 02:53 Rocky Bernstein <rocky@gnu.org>
* configure.ac, ps-watcher.in.in, version, samples/sample.ini,
tests/args.cnf: Changes for BSD/OS. Also potentially a bug in
FreeBSD.
2003-03-02 Sunday 16:35 Rocky Bernstein <rocky@cpan.org>
2003-03-02 Sunday 16:35 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: More small document changes. Make HTML come out
a tad better.
2003-03-02 Sunday 15:28 Rocky Bernstein <rocky@cpan.org>
2003-03-02 Sunday 15:28 Rocky Bernstein <rocky@gnu.org>
* ps-watcher.in.in: Update link for netwinder location!
2003-03-01 Saturday 21:38 Rocky Bernstein <rocky@cpan.org>
2003-03-01 Saturday 21:38 Rocky Bernstein <rocky@gnu.org>
* MANIFEST: Typo.
2003-03-01 Saturday 21:37 Rocky Bernstein <rocky@cpan.org>
2003-03-01 Saturday 21:37 Rocky Bernstein <rocky@gnu.org>
* NEWS: What's up.
2003-03-01 Saturday 21:35 Rocky Bernstein <rocky@cpan.org>
2003-03-01 Saturday 21:35 Rocky Bernstein <rocky@gnu.org>
* MANIFEST: Add Changelog
2003-03-01 Saturday 21:23 Rocky Bernstein <rocky@cpan.org>
2003-03-01 Saturday 21:23 Rocky Bernstein <rocky@gnu.org>
* samples/sample.ini: Add $args example.
2003-03-01 Saturday 21:12 Rocky Bernstein <rocky@cpan.org>
2003-03-01 Saturday 21:12 Rocky Bernstein <rocky@gnu.org>
* MANIFEST, configure.ac, ps-watcher.in.in: Add variables to
control what ps can do, e.g. can nuke header line, has custom
title (for nuking header line), what time variable we can test
on.
2003-03-01 Saturday 21:09 Rocky Bernstein <rocky@cpan.org>
2003-03-01 Saturday 21:09 Rocky Bernstein <rocky@gnu.org>
* tests/: .cvsignore, args.t.in, basic.cnf, basic.cnf.in: Don't
assume etime is a ps-variable. Thanks, FreeBSD.
2003-03-01 Saturday 21:08 Rocky Bernstein <rocky@cpan.org>
2003-03-01 Saturday 21:08 Rocky Bernstein <rocky@gnu.org>
* docs/Makefile.in: Cater to brain-dead make on FreeBSD.
2003-02-28 Friday 16:45 Rocky Bernstein <rocky@cpan.org>
2003-02-28 Friday 16:45 Rocky Bernstein <rocky@gnu.org>
* MANIFEST, configure.ac: configure.ac: add freebsd4 check
MANIFEST: add args test files
2003-02-28 Friday 13:37 Rocky Bernstein <rocky@cpan.org>
2003-02-28 Friday 13:37 Rocky Bernstein <rocky@gnu.org>
* config.sub: Update with more recent version of this.
2003-02-28 Friday 12:34 Rocky Bernstein <rocky@cpan.org>
2003-02-28 Friday 12:34 Rocky Bernstein <rocky@gnu.org>
* tests/: .cvsignore, args.cnf, args.t.in: Add args regression
test.
2003-02-28 Friday 12:33 Rocky Bernstein <rocky@cpan.org>
2003-02-28 Friday 12:33 Rocky Bernstein <rocky@gnu.org>
* configure.ac, ps-watcher.in.in, tests/Makefile.in,
tests/basic.cnf, tests/basic.t.in, tests/count.t.in: Add args
documentation and regression tests. count.t.in, basic.t.in: set
perl mode for emacs
2003-02-27 Thursday 23:46 Rocky Bernstein <rocky@cpan.org>
2003-02-27 Thursday 23:46 Rocky Bernstein <rocky@gnu.org>
* configure.ac, ps-watcher.in.in, version: Add $args variable to
test on entire command. Perpare to make into another version.
2003-02-27 Thursday 21:21 Rocky Bernstein <rocky@cpan.org>
2003-02-27 Thursday 21:21 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Add args to the list of variables that are
accepted.
2003-01-27 Monday 22:41 Rocky Bernstein <rocky@cpan.org>
2003-01-27 Monday 22:41 Rocky Bernstein <rocky@gnu.org>
* MANIFEST, configure.stamp, version: MANIFEST: configre.in ->
configure.ac Other files not sure about, but we'll try
initially...
2003-01-27 Monday 22:37 Rocky Bernstein <rocky@cpan.org>
2003-01-27 Monday 22:37 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Remove touch of stamp file. Dunno...
2003-01-27 Monday 22:35 Rocky Bernstein <rocky@cpan.org>
2003-01-27 Monday 22:35 Rocky Bernstein <rocky@gnu.org>
* configure.ac: Bump version number.
2003-01-27 Monday 22:34 Rocky Bernstein <rocky@cpan.org>
2003-01-27 Monday 22:34 Rocky Bernstein <rocky@gnu.org>
* Makefile.in, NEWS, configure.ac, configure.in, ps-watcher.in.in,
samples/sample.ini: Bug in running make dist.

7
NEWS
View file

@ -1,3 +1,8 @@
Changes from 1.07 to 1.08 (March 15, 2009)
- pidfile support via Jan Wagner.
- Darwin9 support
Changes from 1.06 to 1.07 (December 25, 2008)
- Changed to include and tested on Darwin9
@ -93,4 +98,4 @@ Make "occurs = none" mean to run if there are no matching ps processes.
ps-watcher 0.93 -- first general release.
$Id: NEWS,v 1.28 2008/12/25 16:39:17 rockyb Exp $
$Id: NEWS,v 1.29 2009/03/15 06:59:23 rockyb Exp $

4
THANKS
View file

@ -13,6 +13,8 @@ James R Grinter <jrg at acm dot org> suggested and provided code to allow the
program to fire when no matching processes (e.g. when a process that
should be running has died).
Jan Wagner - Debian packaging and support; pidfile support addition.
Thanks to Jason Welsh <jason at monsterjam dot org> for helping to track down
a Solaris problem where ps returned multiple lines of output.
@ -22,7 +24,7 @@ the action statement.
Musicological supervision by Stuart Frankel <gecko@dustyfeet.com>,
cutrate Ph.D.
$Id: THANKS,v 1.8 2006/03/08 19:17:33 rockyb Exp $
$Id: THANKS,v 1.9 2009/02/19 16:57:31 rockyb Exp $

2
configure vendored
View file

@ -2007,7 +2007,7 @@ fi
# Define the identity of the package.
PACKAGE=ps-watcher
VERSION=1.07
VERSION=1.08
cat >>confdefs.h <<_ACEOF

View file

@ -18,11 +18,11 @@ dnl along with this program; if not, write to the Free Software
dnl Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
dnl 02110-1301 USA.
dnl $Id: configure.ac,v 1.43 2008/12/25 16:42:49 rockyb Exp $
dnl $Id: configure.ac,v 1.45 2009/03/15 06:59:23 rockyb Exp $
dnl Process this file with autoconf to produce a configure script.
AC_INIT(ps-watcher.in.in)
AM_INIT_AUTOMAKE(ps-watcher,1.07)
AM_INIT_AUTOMAKE(ps-watcher,1.08)
AM_MISSING_PROG(CVS2CL, cvs2cl, $missing_dir)
AM_MAINTAINER_MODE

View file

@ -1,4 +1,4 @@
.\" Automatically generated by Pod::Man 2.17 (Pod::Simple 3.07)
.\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
.\"
.\" Standard preamble:
.\" ========================================================================
@ -7,7 +7,7 @@
.if t .Sp
.ne 5
.PP
\fB\&\\$1\fR
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
@ -132,7 +132,7 @@
.\" ========================================================================
.\"
.IX Title "ps-watcher 8"
.TH ps-watcher 8 "2008-12-25" "perl v5.8.8" "User Contributed Perl Documentation"
.TH ps-watcher 8 "2009-03-15" "perl v5.10.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l

View file

@ -9,8 +9,10 @@
<body style="background-color: white">
<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->
<div name="index">
<p><a name="__index__"></a></p>
<ul>
@ -31,7 +33,7 @@
</ul>
<li><a href="#example_configuration">EXAMPLE CONFIGURATION</a></li>
<li><a href="#using__prolog_for_getting_nonps_information">Using $PROLOG for getting non-ps information</a></li>
<li><a href="#using__prolog_for_getting_non_ps_information">Using $PROLOG for getting non-ps information</a></li>
<li><a href="#security_considerations">SECURITY CONSIDERATIONS</a></li>
<li><a href="#troubleshooting">TROUBLESHOOTING</a></li>
<li><a href="#bugs">BUGS</a></li>
@ -39,9 +41,11 @@
<li><a href="#author">AUTHOR</a></li>
<li><a href="#copyright">COPYRIGHT</a></li>
</ul>
<hr name="index" />
</div>
<!-- INDEX END -->
<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
@ -58,7 +62,7 @@
<h1><a name="description">DESCRIPTION</a></h1>
<p>Periodically a list of processes obtained via <code>ps</code>. More precisely
each item in the list contains the process name (just what's listed in
the ``cmd'' field, not the full command and arguments) and its process
the &quot;cmd&quot; field, not the full command and arguments) and its process
id (pid). A configuration file specifies a list of Perl
regular-expression patterns to match the processes against. For each
match, a Perl expression specified for that pattern is evaluated. The
@ -102,34 +106,34 @@ your configuration).</p>
</p>
<h2><a name="options">OPTIONS</a></h2>
<dl>
<dt><strong><a name="item__2d_2dhelp">--help</a></strong></dt>
<dt><strong><a name="help" class="item">--help</a></strong></dt>
<dd>
<p>Print a usage message on standard error and exit with a return code
of 100.</p>
<p></p>
</dd>
<dt><strong><a name="item__2d_2ddoc">--doc</a></strong></dt>
<dt><strong><a name="doc" class="item">--doc</a></strong></dt>
<dd>
<p>Extact the full documentation that you are reading now, print it and
exit with a return code of 101.</p>
<p></p>
</dd>
<dt><strong><a name="item__2d_2dversion">--version</a></strong></dt>
<dt><strong><a name="version" class="item">--version</a></strong></dt>
<dd>
<p>Print the version release on standard output and exit with a return
code of 10.</p>
<p></p>
</dd>
<dt><strong><a name="item__2d_2ddebug_number">--debug <em>number</em></a></strong></dt>
<dt><strong><a name="debug_number" class="item">--debug <em>number</em></a></strong></dt>
<dd>
<p>Give debugging output. The higher the number, the more the output. The
default is 0 = none. 2 is the most debugging output.</p>
</dd>
<dt><strong><a name="item__5b_2d_2dconfig_5d_configuration_file">[--config] <em>configuration file</em></a></strong></dt>
<dt><strong><a name="config_configuration_file" class="item">[--config] <em>configuration file</em></a></strong></dt>
<dd>
<p>Specify configuration file. .</p>
@ -138,7 +142,7 @@ of the configuration file and <a href="#example_configuration">EXAMPLE CONFIGURA
example of a configuration file.</p>
<p></p>
</dd>
<dt><strong><a name="item__2d_2dlog__5blog_file_5d">--log [<em>log file</em>]</a></strong></dt>
<dt><strong><a name="log_log_file" class="item">--log [<em>log file</em>]</a></strong></dt>
<dd>
<p>Send or don't send error and debugging output to a log file. If option
@ -146,39 +150,39 @@ is given but no logfile is specified, then use STDERR. The default is
no error log file. See also --syslog below.</p>
<p></p>
</dd>
<dt><strong><a name="item__2d_2dsyslog__7c__2d_2dnosyslog">--syslog | --nosyslog</a></strong></dt>
<dt><strong><a name="syslog_nosyslog" class="item">--syslog | --nosyslog</a></strong></dt>
<dd>
<p>Send or don't send error and debugging output to syslog. The default
is to syslog error and debug output.</p>
<p></p>
</dd>
<dt><strong><a name="item__2d_2ddaemon__7c__2d_2dnodaemon">--daemon | --nodaemon</a></strong></dt>
<dt><strong><a name="daemon_nodaemon" class="item">--daemon | --nodaemon</a></strong></dt>
<dd>
<p>Run or don't as a daemon.</p>
<p></p>
</dd>
<dt><strong><a name="item__2d_2dpath_search_2dpath">--path <em>search-path</em></a></strong></dt>
<dt><strong><a name="path_search_path" class="item">--path <em>search-path</em></a></strong></dt>
<dd>
<p>Specify the executable search path used in running commands.</p>
</dd>
<dt><strong><a name="item__2d_2dps_2dprog_program">--ps-prog <em>program</em></a></strong></dt>
<dt><strong><a name="ps_prog_program" class="item">--ps-prog <em>program</em></a></strong></dt>
<dd>
<p>One can specify the command that gives ps information. By default, the
command is <em>/bin/ps</em>.</p>
command is <em class="file">/bin/ps</em>.</p>
<p></p>
</dd>
<dt><strong><a name="item__2d_2drun__7c__2d_2dnorun">--run | --norun</a></strong></dt>
<dt><strong><a name="run_norun" class="item">--run | --norun</a></strong></dt>
<dd>
<p>do/don't run actions go through the motions as though we were going
to. This may be useful in debugging.</p>
<p></p>
</dd>
<dt><strong><a name="item__2d_2dsleep_interval_in_seconds">--sleep <em>interval in seconds</em></a></strong></dt>
<dt><strong><a name="sleep_interval_in_seconds" class="item">--sleep <em>interval in seconds</em></a></strong></dt>
<dd>
<p>It is expected that one might want to run ps-watcher over and over
@ -209,7 +213,7 @@ signal.</p>
<p>The format of a configuration file is a series of fully qualified
filenames enclosed in square brackets followed by a number of
parameter lines. Each parameter line has a parameter name followed by
an ``equal'' sign and finally value. That is:</p>
an &quot;equal&quot; sign and finally value. That is:</p>
<pre>
# This is a comment line
; So is this.
@ -223,36 +227,36 @@ an ``equal'' sign and finally value. That is:</p>
<p>Comments start with # or ; and take effect to the end of the line.</p>
<p>This should be familiar to those who have worked with text-readible
Microsoft <code>.INI</code> files.</p>
<p>Note process patterns, (<em>process-pattern1</em> and <em>process-pattern2</em>
<p>Note process patterns, (<em class="file">process-pattern1</em> and <em class="file">process-pattern2</em>
above) must be unique. If there are times when you may want to
refer to the same process, one can be creative to make these unique.
e.g. <em>cron</em> and <em>[c]ron</em> which refer to the same process even
e.g. <em class="file">cron</em> and <em class="file">[c]ron</em> which refer to the same process even
though they <em>appear</em> to be different.</p>
<p>As quoted directly from the Config::IniFiles documentation:</p>
<p>Multiline or multivalued fields may also be defined ala UNIX
``here document'' syntax:</p>
&quot;here document&quot; syntax:</p>
<pre>
Parameter=&lt;&lt;EOT
value/line 1
value/line 2
EOT</pre>
<p>You may use any string you want in place of ``EOT''. Note
that what follows the ``&lt;&lt;'' and what appears at the end of
<p>You may use any string you want in place of &quot;EOT&quot;. Note
that what follows the &quot;&lt;&lt;&quot; and what appears at the end of
the text <em>must</em> match exactly, including any trailing
whitespace.</p>
<p>There are two special ``process patterns'': $PROLOG and $EPILOG, the
<p>There are two special &quot;process patterns&quot;: $PROLOG and $EPILOG, the
former should appear first and the latter last.</p>
<p>You can put perl code to initialize variables here and do cleanup
actions in these sections using ``perl-action.''</p>
actions in these sections using &quot;perl-action.&quot;</p>
<p>A description of parameters names, their meanings and potential values
follows.</p>
<dl>
<dt><strong><a name="item_trigger">trigger</a></strong></dt>
<dt><strong><a name="trigger" class="item">trigger</a></strong></dt>
<dd>
<p>This parameter specifies the condition on which a process action is
fired. The condition is evaluated with Perl <code>eval()</code> and should
therefore return something which is equivalent to ``true'' in a Perl
therefore return something which is equivalent to &quot;true&quot; in a Perl
expression.</p>
<p>If no trigger is given in a section, true or 1 is assumed and
the action is unconditionally triggered.</p>
@ -267,23 +271,23 @@ the action is unconditionally triggered.</p>
[httpd$]
trigger = $count &lt;= 4</pre>
</dd>
<dt><strong><a name="item_occurs">occurs</a></strong></dt>
<dt><strong><a name="occurs" class="item">occurs</a></strong></dt>
<dd>
<p>This parameter specifies how many times an action should be performed
on processes matching the section trigger. Acceptable values are
``every'', ``first'', ``first-trigger'', and ``none''.</p>
<p>Setting the occurs value to ``none'' causes the the trigger to be
&quot;every&quot;, &quot;first&quot;, &quot;first-trigger&quot;, and &quot;none&quot;.</p>
<p>Setting the occurs value to &quot;none&quot; causes the the trigger to be
evaluated when there are no matching processes. Although one might
think ``$count == 0'' in the action expression would do the same thing,
think &quot;$count == 0&quot; in the action expression would do the same thing,
currently as coded this does not work.</p>
<p>Setting the occurs value to ``first'' causes the process-pattern rule to
<p>Setting the occurs value to &quot;first&quot; causes the process-pattern rule to
be finished after handling the first rule that matches, whether or not the
trigger evaluated to true.</p>
<p>Setting the occurs value to ``first-trigger'' causes the process-pattern
<p>Setting the occurs value to &quot;first-trigger&quot; causes the process-pattern
rule to be finished after handling the first rule that matches <em>and</em>
the trigger evaluates to true.</p>
<p>If the item parameter is not specified, ``first'' is assumed.</p>
<p>If the item parameter is not specified, &quot;first&quot; is assumed.</p>
<p>Examples:</p>
<pre>
[.]
@ -309,7 +313,7 @@ the trigger evaluates to true.</p>
occurs = none
action = /etc/init.d/syslogd start</pre>
</dd>
<dt><strong><a name="item_action">action</a></strong></dt>
<dt><strong><a name="action" class="item">action</a></strong></dt>
<dd>
<p>This specifies the action, a command that gets run by the system
@ -318,7 +322,7 @@ shell, when the trigger condition is evaluated to be true.</p>
<pre>
action = /etc/init.d/market_loader.init restart</pre>
</dd>
<dt><strong><a name="item_perl_2daction">perl-action</a></strong></dt>
<dt><strong><a name="perl_action" class="item">perl-action</a></strong></dt>
<dd>
<p>This specifies Perl statements to be eval'd. This can be especially
@ -352,25 +356,25 @@ the name of this program ps-watcher.</p>
<p>The following variables can be used in either the pattern or action
fields.</p>
<dl>
<dt><strong><a name="item__action">$action</a></strong></dt>
<dt><strong><a name="_action" class="item">$action</a></strong></dt>
<dd>
<p>A string containing the text of the action to run.</p>
<p></p>
</dd>
<dt><strong><a name="item__perl_action">$perl_action</a></strong></dt>
<dt><strong><a name="_perl_action" class="item">$perl_action</a></strong></dt>
<dd>
<p>A string containing the text of the perl_action to run.</p>
<p></p>
</dd>
<dt><strong><a name="item__ps_pat">$ps_pat</a></strong></dt>
<dt><strong><a name="_ps_pat" class="item">$ps_pat</a></strong></dt>
<dd>
<p>The Perl regular expression specified in the beginning of the section.</p>
<p></p>
</dd>
<dt><strong><a name="item__command">$command</a></strong></dt>
<dt><strong><a name="_command" class="item">$command</a></strong></dt>
<dd>
<p>The command that matched $ps_pat.</p>
@ -387,14 +391,14 @@ case, backticks in $command are escaped.</p>
action = echo \&quot;Looks like you have a big \$command program: \$vsz KB\&quot;</pre>
<p></p>
</dd>
<dt><strong><a name="item__count">$count</a></strong></dt>
<dt><strong><a name="_count" class="item">$count</a></strong></dt>
<dd>
<p>The number of times the pattern matched. Presumably the number of
processes of this class running.</p>
<p></p>
</dd>
<dt><strong><a name="item__trigger">$trigger</a></strong></dt>
<dt><strong><a name="_trigger" class="item">$trigger</a></strong></dt>
<dd>
<p>A string containing the text of the trigger.</p>
@ -424,7 +428,7 @@ not match depending on which single line of the multiple <code>ps</code> lines i
used.</p>
<p></p>
<dl>
<dt><strong><a name="item__args">$args</a></strong></dt>
<dt><strong><a name="_args" class="item">$args</a></strong></dt>
<dd>
<p>The command along with its command arguments. It is possible that this
@ -432,43 +436,43 @@ is might get truncated at certain length (if ps does likewise as is
the case on Solaris).</p>
<p></p>
</dd>
<dt><strong><a name="item__ppid">$ppid</a></strong></dt>
<dt><strong><a name="_ppid" class="item">$ppid</a></strong></dt>
<dd>
<p>The parent process id.</p>
<p></p>
</dd>
<dt><strong><a name="item__stime">$stime</a></strong></dt>
<dt><strong><a name="_stime" class="item">$stime</a></strong></dt>
<dd>
<p>The start time of the process.</p>
<p></p>
</dd>
<dt><strong><a name="item__etime">$etime</a></strong></dt>
<dt><strong><a name="_etime" class="item">$etime</a></strong></dt>
<dd>
<p>The end time of the process.</p>
<p></p>
</dd>
<dt><strong><a name="item__pmem">$pmem</a></strong></dt>
<dt><strong><a name="_pmem" class="item">$pmem</a></strong></dt>
<dd>
<p>The process memory.</p>
<p></p>
</dd>
<dt><strong><a name="item__pcpu">$pcpu</a></strong></dt>
<dt><strong><a name="_pcpu" class="item">$pcpu</a></strong></dt>
<dd>
<p>The percent CPU utilization.</p>
<p></p>
</dd>
<dt><strong><a name="item__tty">$tty</a></strong></dt>
<dt><strong><a name="_tty" class="item">$tty</a></strong></dt>
<dd>
<p>The controlling tty.</p>
<p></p>
</dd>
<dt><strong><a name="item__vsz">$vsz</a></strong></dt>
<dt><strong><a name="_vsz" class="item">$vsz</a></strong></dt>
<dd>
<p>Virtual memory size of the process</p>
@ -540,7 +544,7 @@ and <code>DAYS</code> respectively and they have the expected definitions:</p>
<p>
</p>
<hr />
<h1><a name="using__prolog_for_getting_nonps_information">Using $PROLOG for getting non-ps information</a></h1>
<h1><a name="using__prolog_for_getting_non_ps_information">Using $PROLOG for getting non-ps information</a></h1>
<p>Here is an example to show how to use ps-watcher to do something not
really possible from ps: check to see if a <em>port</em> is active. We make
use of lsof to check port 3333 and the $PROLOG make sure it runs.</p>
@ -609,7 +613,7 @@ variables.</p>
<p>See also <em>ps(1)</em> and <em>syslogd(8)</em>.</p>
<p>Another cool program doing ps-like things is <code>xps</code>. Well okay, it's
another program I distributed. It shows the process tree dynamically
updated using X Motif and tries to display the output ``attractively''
updated using X Motif and tries to display the output &quot;attractively&quot;
but fast. You can the find the homepage at
<a href="http://motif-pstree.sourceforge.net">http://motif-pstree.sourceforge.net</a> and it download via
<a href="http://prdownloads.sourceforge.net/motif-pstree?sort_by=date&sort=desc">http://prdownloads.sourceforge.net/motif-pstree</a></p>

View file

@ -1,7 +1,7 @@
#!/usr/bin/perl -w
# -*- Perl -*-
use diagnostics;
my $vcid='$Id: ps-watcher.in.in,v 1.62 2008/12/23 11:09:24 rockyb Exp $ ';
my $vcid='$Id: ps-watcher.in.in,v 1.63 2009/02/19 16:57:31 rockyb Exp $ ';
# See usage subroutine or perlpod documentation below.
# Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2008
@ -23,8 +23,11 @@ my $vcid='$Id: ps-watcher.in.in,v 1.62 2008/12/23 11:09:24 rockyb Exp $ ';
use vars qw($program $ps_cmd $ps_cmdfull $ps_fullcmd_fmt @ps_vars $ps_dvars
$0 $logopened $ps_args_fmt $args
$count $pid $command $ps_arg_opts $DEVNULL %opts
$count $pid $command $ps_arg_opts $DEVNULL %opts $PIDFILE
);
$PIDFILE = "/var/run/ps-watcher.pid";
use strict;
BEGIN { require 5.00503 }
@ -130,6 +133,7 @@ sub gather_psinfo();
sub read_config($);
sub check_config_file($);
sub run_trigger($$$);
sub check_pid();
init();
process_options();
@ -147,7 +151,12 @@ if (!defined($cfg)) {
}
if ($opts{daemon}) {
daemonize();
if (! check_pid()) {
exit 1;
}
if (! daemonize()) {
exit 1;
}
}
install_handlers();
@ -586,14 +595,62 @@ PARTICULAR PURPOSE.
exit 10;
}
sub check_pid() {
if (-f $PIDFILE) {
if (open(PID,$PIDFILE)) {
my $pid = <PID>;
if (!close(PID)) {
logger("Unable to close file handle PID for file '$PIDFILE': $!");
return;
}
if (-f "/proc/$pid/stat") {
if (open(FH,"/proc/$pid/stat")) {
my $line = <FH>;
if (!close(FH)) {
logger("Unable to close file handle FH for file '/proc/$pid/stat': $!");
return;
}
if ($line =~ /\d+[^(]*\((.*)\)\s*/) {
my $process = $1;
if ($process =~ /^$program$/) {
logger("$program already running at PID $pid; exiting.");
exit(0);
}
}
} else {
logger("Unable to open file handle FH for file '/proc/$pid/stat': $!");
return;
}
} else {
logger("Removing stale PID file.");
unlink($PIDFILE);
}
}else{
logger("Unable to open file handle PID for file '$PIDFILE': $!");
return;
}
}
return 1;
}
sub daemonize() {
chdir '/' or die "Can't chdir to /: $!";
defined(my $pid = fork) or die "Can't fork: $!";
exit 0 if $pid;
if (open(FH,">$PIDFILE")) {
print FH $$;
if (!close(FH)) {
logger("Unable to close file handle FH for file '$PIDFILE': $!");
return;
}
} else {
logger("Unable to open file handle FH for file '$PIDFILE': $!");
return;
}
use POSIX qw(setsid);
setsid() or die "Can't start a new session: $!";
umask 0;
return 1;
}
# Time configuration file was last read.

View file

@ -1,7 +1,7 @@
#!@PERL@ -w
# -*- Perl -*-
use diagnostics;
my $vcid='$Id: ps-watcher.in.in,v 1.62 2008/12/23 11:09:24 rockyb Exp $ ';
my $vcid='$Id: ps-watcher.in.in,v 1.63 2009/02/19 16:57:31 rockyb Exp $ ';
# See usage subroutine or perlpod documentation below.
# Copyright (C) 2000, 2002, 2003, 2004, 2005, 2006, 2008
@ -23,8 +23,11 @@ my $vcid='$Id: ps-watcher.in.in,v 1.62 2008/12/23 11:09:24 rockyb Exp $ ';
use vars qw($program $ps_cmd $ps_cmdfull $ps_fullcmd_fmt @ps_vars $ps_dvars
$0 $logopened $ps_args_fmt $args
$count $pid $command $ps_arg_opts $DEVNULL %opts
$count $pid $command $ps_arg_opts $DEVNULL %opts $PIDFILE
);
$PIDFILE = "/var/run/ps-watcher.pid";
use strict;
BEGIN { require 5.00503 }
@ -130,6 +133,7 @@ sub gather_psinfo();
sub read_config($);
sub check_config_file($);
sub run_trigger($$$);
sub check_pid();
init();
process_options();
@ -147,7 +151,12 @@ if (!defined($cfg)) {
}
if ($opts{daemon}) {
daemonize();
if (! check_pid()) {
exit 1;
}
if (! daemonize()) {
exit 1;
}
}
install_handlers();
@ -576,14 +585,62 @@ PARTICULAR PURPOSE.
exit 10;
}
sub check_pid() {
if (-f $PIDFILE) {
if (open(PID,$PIDFILE)) {
my $pid = <PID>;
if (!close(PID)) {
logger("Unable to close file handle PID for file '$PIDFILE': $!");
return;
}
if (-f "/proc/$pid/stat") {
if (open(FH,"/proc/$pid/stat")) {
my $line = <FH>;
if (!close(FH)) {
logger("Unable to close file handle FH for file '/proc/$pid/stat': $!");
return;
}
if ($line =~ /\d+[^(]*\((.*)\)\s*/) {
my $process = $1;
if ($process =~ /^$program$/) {
logger("$program already running at PID $pid; exiting.");
exit(0);
}
}
} else {
logger("Unable to open file handle FH for file '/proc/$pid/stat': $!");
return;
}
} else {
logger("Removing stale PID file.");
unlink($PIDFILE);
}
}else{
logger("Unable to open file handle PID for file '$PIDFILE': $!");
return;
}
}
return 1;
}
sub daemonize() {
chdir '/' or die "Can't chdir to /: $!";
defined(my $pid = fork) or die "Can't fork: $!";
exit 0 if $pid;
if (open(FH,">$PIDFILE")) {
print FH $$;
if (!close(FH)) {
logger("Unable to close file handle FH for file '$PIDFILE': $!");
return;
}
} else {
logger("Unable to open file handle FH for file '$PIDFILE': $!");
return;
}
use POSIX qw(setsid);
setsid() or die "Can't start a new session: $!";
umask 0;
return 1;
}
# Time configuration file was last read.