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:
Este es solo uno de los muchos intentos, estoy bastante frustrado y sinceramente no soy capaz de terminarlo.Ver original
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: 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()
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