Ir para conteúdo
Fórum Script Brasil
  • 0

Threads Em Python


lmsf

Pergunta

Olá pessoal.

Hoje trago à discussao um problema que tenho sobre o seginte:

Imaginem uma thread que executa o comando PING de 2 em 2 segundos.

Agora imaginem que a maquina à qual desejo fazer o ping esta acessivel. Tudo bem até aqui.

Coloco o script a correr e de sguida posso verificar que a thread envia: 2 pacotes enviados, 2 pacotes

recebidos

De seguida faco um reset à maquina. Aqui comecam os problemas!!!

Quando a maquina fica incessivel, a thread bloqueia e so torna a responder quando a maquina fica acessivel.

Ora, pelo que percebi, o comando PING deveria exibir: 2 pacotes enviados, 0 pacotes recebidos.

Será que alguém me poderia ajudar?

Obrigado.

Codigo:

import os

import re

import time

import datetime

import sys

from threading import Thread

class CheckPingBladeStatus(Thread):

"Threading example"

def __init__ (self, ip):

Thread.__init__(self)

self.keepGoing = True

self.transmitted = 0

self.received = 0

self.ip = ip

self.status = 0

self.downTime = None

def run(self):

while 1:

result = os.popen("ping -que -c2 -w3 " + self.ip)

cmd = result.readlines()

print cmd

def stop(self):

self.keepGoing = False

def getLastBytesTransmitted(self):

return self.transmitted

def getLastBytesReceived(self):

return self.received

def printStatus(self):

print datetime.datetime.now()," => Transmitted: ",current.getLastBytesTransmitted()," Received: ",current.getLastBytesReceived()

def clearValues(self):

self.status = -1

self.downTime = 0

CheckPingBladeStatus.lifeline = re.compile("(\d+) packets transmitted, (\d+) received, (\d+)%")

#start a new thread

current = CheckPingBladeStatus("10.50.38.161") # TA16

current.start()

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...