#!/usr/bin/php
<?php

# ini_set('display_errors', 0);

$filename = 'http://127.0.0.1:8080/server-status';

$handle = @fopen($filename,'r');
if ($handle == false) {
   exit (0);
}

$data = file_get_contents($filename);

if ($data) {

    $dom = new domDocument;

    $dom->loadHTML($data);
    $dom->preserveWhiteSpace = false;

    $tables = $dom->getElementsByTagName('table');
    $rows = $tables->item(0)->getElementsByTagName('tr'); 

    foreach ($rows as $row) {

        $cols = $row->getElementsByTagName('td');

        if (is_object($cols->item(0))) {

	    $pid=trim($cols->item(1)->nodeValue);
	    $status=trim($cols->item(3)->nodeValue);
	    $cpu=trim($cols->item(4)->nodeValue);
	    $ss=trim($cols->item(5)->nodeValue);
	    $client=trim($cols->item(10)->nodeValue);
	    $vhost=trim($cols->item(11)->nodeValue);
	    $request=trim($cols->item(12)->nodeValue);

	    if (($status == "G") && ($ss > 120)) {
		exec ("kill -9 $pid");
		# echo "Killed Apache process: PID:$pid Status:$status Seconds:$ss CPU:$cpu Client:$client Vhost:$vhost Request:$request\n";
		syslog(LOG_WARNING, "Killed Apache process: PID:$pid Status:$status Seconds:$ss CPU:$cpu Client:$client Vhost:$vhost Request:$request");
	    }

	    if (($status == "W") && ($ss > 1200)) {
		exec ("kill -9 $pid");
		# echo "Killed Apache process: PID:$pid Status:$status Seconds:$ss CPU:$cpu Client:$client Vhost:$vhost Request:$request\n";
		syslog(LOG_WARNING, "Killed Apache process: PID:$pid Status:$status Seconds:$ss CPU:$cpu Client:$client Vhost:$vhost Request:$request");
	    }
	}

    } 

}

?>
