Ir para conteúdo
Fórum Script Brasil

lmsf

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre lmsf

lmsf's Achievements

0

Reputação

  1. lmsf

    Threads Em Python

    O SO utilizado é o Linux. Os parametros do ping: "-que" "-c2" "-w3" "self.ip" onde "-que" : formatacao; -c2: dois pacotes; -w3: timeout 3 segundos; self.ip: ip da maquina a pingar PS: "-que" corresponde a -quê (bug deste editor!!!!) Obrigado.
  2. lmsf

    Threads Em Python

    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()
×
×
  • Criar Novo...