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.566 ]
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; }
Jogo da forca com banco de dados MySQL
Usando MySQL na linguagem C - Exemplo 4
Programa em C++ sistema de dados de produtos e equipamentos de informatica
Nenhum comentário foi encontrado.
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Como rodo essa suinaria? [RESOLVIDO] (8)
Redes Wifi não aparecem no Linux Mint cinnamon [RESOLVIDO] (4)
Montando e usando iso de um sistema dentro do outro (2)
Criar atalho para uma pasta na area de trabalho no Linux Mint? (0)