Multiprocessing sur une fonction avec un timeout
Bonjour étant une fonction test à appeler (peu importe le contenu), comment puis-je arrêter son exécution s'il excède 1 seconde.
Le test que j'ai réalisé, n'affiche pas la valeur de x. J'aimerais que son exécution s’exécute pendant une seconde au maximum.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
import multiprocessing
import time
def mafonction():
x=1
while x<2:
print(x)
if __name__ == '__main__':
print("début:")
p = multiprocessing.Process(target=mafonction)
p.start()
time.sleep(1)
p.terminate()
p.join()
print(":Fin") |