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.617 ]
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 2
Nenhum coment�rio foi encontrado.
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
O macete do Warsaw no Linux Mint e cia
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Instalação de Ubuntu em SSD (interno) como se fosse um dispositivo ext... (1)
Mikrotik não abre o webmail-segur... da Locaweb (10)