http://www.perlmonks.org?node_id=887860


in reply to using Proc::ProcessTable

...find those that have been running for more than 3 seconds as those ones should have exited out but for some reason are hanging.

Do you have control over the code of member.cgi?  If so, you could also try having those processes terminate themselves after 3 seconds:

#!/usr/bin/perl alarm 3; # have the OS send myself a SIGALRM after 3 seconds for (1..100) { print "sending line $_\n"; select undef, undef, undef, 0.5; } print "Done.\n";
$ ./887855.pl sending line 1 sending line 2 sending line 3 sending line 4 sending line 5 sending line 6 sending line 7 Alarm clock

(The default action upon a process receiving SIGALRM is to terminate it, but you can of course set up your own signal handler, like $SIG{ALRM} = sub { ...clean up...; exit 1 }; or $SIG{ALRM} = sub { kill 9, $$ }; )

Replies are listed 'Best First'.
Re^2: using Proc::ProcessTable
by Anonymous Monk on Feb 13, 2011 at 12:01 UTC
    SWEET! That works!!! Fantastic. Thank you much!

    Richard