<?
php
define ( ' MAX_SLEEP_TIME ' , 120 );
$hostname = " localhost " ;
$username = " root " ;
$password = " password " ;
$connect = mysql_connect ( $hostname , $username , $password );
$result = mysql_query ( " SHOW PROCESSLIST " , $connect );
while ( $proc = mysql_fetch_assoc ( $result )) {
if ( $proc [ " Command " ] == " Sleep " && $proc [ " Time " ] > MAX_SLEEP_TIME) {
@ mysql_query ( " KILL " . $proc [ " Id " ] , $connect );
}
}
mysql_close ( $connect );
?>
define ( ' MAX_SLEEP_TIME ' , 120 );
$hostname = " localhost " ;
$username = " root " ;
$password = " password " ;
$connect = mysql_connect ( $hostname , $username , $password );
$result = mysql_query ( " SHOW PROCESSLIST " , $connect );
while ( $proc = mysql_fetch_assoc ( $result )) {
if ( $proc [ " Command " ] == " Sleep " && $proc [ " Time " ] > MAX_SLEEP_TIME) {
@ mysql_query ( " KILL " . $proc [ " Id " ] , $connect );
}
}
mysql_close ( $connect );
?>
将它当中的 $password 改成你实际的数据库密码,死连接的时间也可以修改。然后加入计划任务就可以了。比如用 crontab -e 命令加入:
*/2 * * * * php /usr/local/sbin/kill-mysql-sleep-proc.php