Miércoles, 13 Nov 2024, 11:32:28 PM
Le saludo Huésped | RSS
Carga de Archivos
Marcadores
VISITAS
Visitas
Recomendar Pagina
Redes Sociales
Búsqueda
[ Mensajes nuevos · Participantes · Reglas del foro · Búsqueda · RSS ]
  • Página 1 de 1
  • 1
Moderador del foro: juanjose472  
Controlar tiempo de ejecución de .exe con programa servidor
popireyFecha: Sábado, 22 Mar 2014, 5:13:21 AM | Mensaje # 1
Soldado raso
Grupo: Usuarios
Mensajes: 1
Estatus: Offline
Hola,
Estoy intentando crear un programa que haga lo siguiente: El programa
debe abrir dos .exe alternativamente el número de veces que le digas, y
si el primer .exe dura mas de un tiempo activo, que lo cierre y continue
de nuevo abriendo ambos alternativamente. Para ello he hecho un
programa cliente-servidor en el que el cliente ejecuta los dos programas y
el servidor debe controlar el tiempo del primero, y si este se pasa
eliminar el proceso. El cliente es asi:


Código
import socket, os, time
s = socket.socket()
s.connect(("localhost", 9999))
programa1 = raw_input("escribe el programa 1: ")
programa2 = raw_input("escribe el programa 2: ")
s.send(programa1)
num = raw_input("escribe el numero de repeticiones: ")
a = 0
n = 0
while True:
for x in range(int(num)):
if n == 0:
s.send(str(a))
n = 1
os.system("programa1")
a += 1
s.send(str(a))
os.system("programa2")
break
s.close()

Y el servidor

Código
import socket, time, os
s = socket.socket()
s.bind(("localhost", 9999))
s.listen(10)
sc, addr = s.accept()
n = 0
print "Recibo conexion de " + str(addr[0]) + ":" + str(addr[1])
while True:
recibido = sc.recv(1024)
t1 = time.time()
if recibido == "0":
n = 1
if n == 1:
recibido = sc.recv(1024)
a = recibido
while True:
if time.time() - t1 > 2:
recibido = sc.recv(1024)
if int(a)+1 == int(recibido):
os.system("taskkill/im" + str(programa")
break
sc.send(recibido)
sc.close()
s.close()

Lo cierto es que el problema varía según intento una cosa u otra pero basicamente el servidor no cumple su fución. El cliente ejecuta ambos
programas como debe ser pero el servidor no cuenta el tiempo
correctamente, y cierra el proceso cuando no es debido.  Estoy bastante frustrado asi que si me podeis ayudar os lo agradezco.

Un saludo
 
  • Página 1 de 1
  • 1
Búscar: