RSS
 

Posts Tagged ‘php kill process’

Kill All Process for MySQL ~ Kritik Hata Yönetimi

14 Dec

Merhaba,

Kısa bir süre önce karşılaştığım bir MySQL Query Process problemi sonrası yazdığım bir kod blogunu sizinle paylaşıyorum.

Aşağıdaki kodlar ile 200ms’nin üzerinde işlem kuyruğunda bekleyen işlemleri sonlandırabilirsiniz. Lütfen, kodlarını çalıştırmadan önce sisteminizdeki loglama ve kurtarma modülleri varsa çalıştıklarını check ediniz.

<?php
/**
 * Danger: KILL ALL MySQL SERVER PROCESS
 * UYARI: Tüm veri tabanı işlemlerini sonlandıran kod blogu
 * @author: Hakan DAMAR
 */
$dbhost  = "10.70.1.9";
$dbname  = "MySQLEnt";
$dbuser  = "rootkit";
$dbpass  = "**********";

@mysql_connect($dbhost,$dbuser,$dbpass) || die("Error:" .mysql_error());
mysql_select_db($dbname);

$T_Begin = mysql_query("BEGIN"); Require DB Engine Type = INNODB  for transaction
$result = mysql_query("SHOW FULL PROCESSLIST");
while ($row=mysql_fetch_array($result)) {
$process_id=$row["Id"];
for ($h=0;$row["Time"] &gt; 200;$sql=mysql_query("KILL $process_id")) {
        if(!$sql){ $T_ROLLBACK = mysql_query("ROLLBACK"); }
                else {
                        $T_COMMIT = mysql_query("COMMIT");
                        print $process_id."&lt;br&gt;";
          }
    }
}
?>

Yukarıdaki kodlarda sadece processleri kill eden tarafa yoğunlaşınız. Çalışır bir örnek sunabilmek adına bazı tarafları express kodlanmıştır. Siz kendi yazılımınıza göre entegre kullanabilirsiniz.

İyi Çalışmalar,

Hakan DAMAR

 
No Comments

Posted in MySQL, PHP