0
異なる入力に何度も関数を適用する必要があります。場合によっては、実行に数時間かかることがあります。私はそれが10秒以上続くことを望んでいません。私は前の投稿(How to limit execution time of a function call in Python)の方法を見つけました。私はそれを使用することができますが、すぐに私のカーネルが死ぬ(予期せず)。例をあげておきます。Pythonで関数呼び出しの実行時間を制限すると、カーネルが破棄されます
誰かがこの問題に直面するか、それが起こる理由を知っていますか?
Fyk:私はクモ(パイソン2.7.11 64-ビット、Qtの4.8.7、PyQt4ダーウィン(API v2の)4.11.4)あなたはSIGALRM
ハンドラと10個の信号を作成している
import signal
import time
def signal_handler(signum, frame):
raise Exception("Timed out!")
for i in range(10):
signal.signal(signal.SIGALRM, signal_handler)
signal.alarm(10) # Ten seconds
try:
time.sleep(0.2) # The function I want to apply
print("Ok it works")
except Exception, msg:
print "Timed out!"
TKS。私は私のシグナルを閉じる必要があることを知らなかった.ALAL!私はループ内のアラームが欲しい。しかし、私はそれを閉じると、それは動作します! –