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.704 ]
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 3
Usando MySQL na linguagem C - Exemplo 4
Jogo da forca com banco de dados MySQL
Usando MySQL na linguagem C - Exemplo 5
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Programa fora de escala na tela do pc (33)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (0)









