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()