/*
本文件,是用来杀死,连接mysql数据库时间过常,导致ERP系统死机,在这里结合计划任务来执行这个文件
*/
define('MAX_SLEEP_TIME',5);
$hostname = "localhost";
$username = "root";
$password = "gp8888";
$connect = mysql_connect($hostname, $username, $password);
$result = mysql_query("SHOW PROCESSLIST", $connect);
//echo count(mysql_fetch_assoc($result));
$i=0;
while ($proc = mysql_fetch_assoc($result))
{
if ($proc["State"] == "Locked" && $proc["Time"] > MAX_SLEEP_TIME)
{
@mysql_query("KILL " . $proc["Id"], $connect);
// echo "Command:".$proc["Command"] ." id:". $proc["Id"]." time:".$proc["Time"] ."
";
}
if ($proc["Command"] == "Sleep" ) //&& $proc["Time"] > MAX_SLEEP_TIME
{
// @mysql_query("KILL " . $proc["Id"], $connect);
//echo "Command:".$proc["Command"] ." id:". $proc["Id"]." time:".$proc["Time"] ."
";
$arrid[$i]=$proc["Id"];
// echo $i++ ;
}
}
if($i>20)
{
for($j=0;$j<11;$j++)
{
@mysql_query("KILL " . $arrid[$j], $connect);
// echo $j;
}
}
mysql_close($connect);
?>