This solution seems to kill anything, here's a snippet of the log.  As you can see, 
it's hitting things low idle times.  (I of course commented out the kill line)

mmorgan
killing process id    PID
 80350
 on pts/0 because minutes equal 1
CLanko
killing process id    PID
109034
 on pts/1 because minutes equal 0
lestas
killing process id    PID
 17490
 23800
 51560
 on pts/2 because minutes equal 36
ruthw
killing process id    PID
 24992
 26024
 30064
 on pts/3 because minutes equal 17
annap
killing process id    PID
 28626
 34956
 51884
 on pts/4 because minutes greater than 60 1:35
annap
killing process id    PID
 22890
 40942
115930
 on pts/5 because minutes equal 7

-----Original Message-----
From: John W. Krahn [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, June 12, 2002 9:18 PM
To: [EMAIL PROTECTED]
Subject: Re: Killing Idle Users


"John W. Krahn" wrote:
> 
> #!/usr/bin/perl -w
> use strict;
> 
> my $results = '/home/danb/killemresults';
> open RES, '>>', $results or die "Cannot open $results: $!";
> print "\n" . localtime() . "\nStarting\n";
> 
> for my $user ( map [ (split)[0,1,4] ], grep m|\bpts/|, `w -l` ) {
>     # print RES "$user->[1]\n";
>     my $pid = `ps -t $user->[1] -o pid`;
>     print RES "$user->[0]\n";
>     print RES "killing process id $pid on $user->[1] because minutes ";
>     print RES $user->[2] =~ /:/ ? 'greater than 60' : 'equal', " $user->[2]\n";
>     kill 9, $pid;
>     }


Sorry, there could be multiple pids, so it should be:

for my $user ( map [ (split)[0,1,4] ], grep m|\bpts/|, `w -l` ) {
    # print RES "$user->[1]\n";
    my @pids = grep s/\D+//g&&/\d/, `ps -t $user->[1] -o pid`;
    print RES "$user->[0]\n";
    print RES "killing process id @pids on $user->[1] because minutes ";
    print RES $user->[2] =~ /:/ ? 'greater than 60' : 'equal', " $user->[2]\n";
    kill 9, @pids;
    }


John
-- 
use Perl;
program
fulfillment

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to