Matador de conexões MYSQL que estão dormindo há muito tempo
Publicado por David Augusto (última atualização em 30/10/2012)
[ Hits: 8.265 ]
Homepage: http://pedreirosdosoftware.wordpress.com
Apenas um programinha para matar aquelas conexões que estão com status sleep há muito tempo no MySQL. Utilizei mais como estudo de conexão MYSQL - C/C++.
Para compilar:
gcc matador.c -o matador -lmysqlclient
P.S.: Sou só eu que misturo português com inglês em meus programas?
/*Matador de conexões Mysql que estão dormindo há muito tempo. David Augusto - 2012*/ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <mysql/mysql.h> void showError(MYSQL *conn) { printf("\n================== ERRO! =================="); printf("\nUm erro ocorreu! \n %d %s\n",mysql_errno(conn),mysql_error(conn)); printf("===========================================\n"); } int main(int argc,char **argv) { if(argc<4){ printf("\n\n!!USO: matador IP USUARIO SENHA\n\n"); return 1; } MYSQL conn; MYSQL_RES *resultSet; MYSQL_ROW row; int i = 0; int j; int time = 5000; char killerarray[30][30]; mysql_init(&conn); printf("Iniciando Conexao com o banco de dados..."); if(mysql_real_connect(&conn,argv[1],argv[2],argv[3],"mysql",0,NULL,0)) { printf("\nConexao no banco efetuada com sucesso\n"); }else { showError(&conn); return 1; } if(mysql_query(&conn,"SHOW PROCESSLIST")) showError(&conn); resultSet = mysql_store_result(&conn); if(resultSet) { while((row=mysql_fetch_row(resultSet)) != NULL){ if(!strcmp(row[4],"Sleep") && atoi(row[5])>time){ strcpy(killerarray[i],row[0]); i++; } } mysql_free_result(resultSet); }else showError(&conn); if(i<1){ printf("\nNao existe nenhum processo a ser morto.\n"); } for(j=0;j<i;j++){ char kill[10] = "KILL "; if(mysql_query(&conn,strcat(kill,killerarray[j]))) showError(&conn); else printf("Processo %s morto\n",killerarray[j]); } mysql_close(&conn); return 0; }
Usando MySQL na linguagem C - Exemplo 5
Jogo da forca com banco de dados MySQL
Usando MySQL na linguagem C - Exemplo 4
Nenhum comentário foi encontrado.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Como configurar o Openvpn do pfSense para entregar da memsa faixa de I... (1)
Problema com alias usando locate (5)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba