PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` #!/usr/bin/perl use Proc::Daemon; use Mail::Sendmail; $SendmailPath = '/usr/sbin/sendmail'; sub sendmail { my ($to, $from, $subj, $msg) = @_; open (MAIL, "|$SendmailPath -t -n")|| die "Error! Can't use sendmail\n"; print MAIL "To: $to\n"; print MAIL "From: $from\n"; print MAIL "Subject: $subj\n"; print MAIL "Reply-To: $from\n\n"; print MAIL "$msg\n"; close (MAIL); } sub vikai { sendmail('sysadmin-abuse@tmdhosting.com', 'watcher@tmdhosting.com', "Process of user $login killed", $p->cmndline); } $cpulimit = "65.00"; $memlimit = "65.00"; sub bii { use Proc::ProcessTable; $t = new Proc::ProcessTable; foreach $p (@{$t->table}) { ($login,$pass,$uid,$gid) = getpwuid($p->uid); if ($login eq "root" or $login eq "nobody" or $login eq "mysql" or $login eq "named" or $login eq "naous" or $login eq "prase" or $login eq "midatlan"){ next; } if ($p->pctcpu >= $cpulimit or $p->pctmem >= $memlimit) { $p->kill(9); vikai; } else { next; } } } Proc::Daemon::Init; $0="tmdwatcher"; while(1){ bii; sleep(2); }