これはthreading.pyモジュールからのコードです:
import sys as _sys
class Thread(_Verbose):
def _bootstrap_inner(self):
# some code
# If sys.stderr is no more (most likely from interpreter
# shutdown) use self._stderr. Otherwise still use sys (as in
# _sys) in case sys.stderr was redefined since the creation of
# self.
if _sys:
_sys.stderr.write("Exception in thread %s:\n%s\n" %
(self.name, _format_exc()))
else:
# some code
は役に立つかもしれません。表示されるエラーは、else
ステートメントから得られます。だからあなたの場合:
import sys as _sys
while True:
if not _sys:
break/return/die/whatever
do_something()
time.sleep(interval)
私はそれは(あなたがおそらくtry:except:
で、すべてを包むべきでdo_something
の内側に発生する可能性があり、そのインタプリタのシャットダウンに注意してください)しかし動作するかどうかはわかりません。
デーモンスレッドは必ずしも悪いわけではありませんが、開発プロセスをスピードアップすることは間違いありません。あなたはちょうどそれらに注意する必要があります。自分の質問への
関連:http://stackoverflow.com/questions/16731115/how-to-debug-a-python-seg-fault – guettli