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.264 ]
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 1
Jogo da forca com banco de dados MySQL
Usando MySQL na linguagem C - Exemplo 3
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
Não consigo acessar os modos de desempenho (2)
Ubuntu — tentando iniciar o windows? (0)
[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