とりあえず、あきらめ。signal.SIGCHLDでガマン。forkしなおすべ・・・。てか、serve_foreverを例外で抜けざるを得ないから、clientにも迷惑がかかる。orz。
しかし死んだ子プロセスのpidはframeからわかるのかね??
プロセスが死んだら計算結果を取りに行くのか・・・。
だめすぎ。
import time
import signal
import os
def handler(signum, frame):
print "child is gone"
print signal.SIGCHLD, signum
print dir(frame)
signal.signal(signal.SIGCHLD, handler)
if os.fork():
time.sleep(5)
else:
time.sleep(1)
os._exit(0)
print "done"
1 件のコメント:
あ・・・。。os.kill(pid, sig)だ・・・。orz
コメントを投稿