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 ellos he hecho un program 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 Python:
Ver originalimport 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:
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()
Este es solo uno de los muchos intentos, estoy bastante frustrado y sinceramente no soy capaz de terminarlo.
Antes de nada gracias y un saludo
PD: He creado el tema dos veces, porque sin querer he marcado el primero como solucionado, lo siento