質問: メインの処理が15秒以内に終了しなければプログラム自体を終了するプログラムを作成しているのですが、Threadingモジュールでスレッド内でtime.sleep(15)として15秒たった場合sys.exit()を実行するようにしていますが、終了されません。調べた結果sys.exit()では終了できないようです。 **Q1 スレッドないからプログラム自体を終了する方法はないのか?** **Q2 os._exit(n)で終了できるのらしいのですが、終了しません。またnとは何でしょうか?** **Q3 スレッド以外にも終了はあるのでしょうか?** 宜しくお願いします。
回答: メインプログラムのループ内で終了用のフラグを監視してそれが立っていれば終了するように作っておいて、 スレッドからそのフラグを立たせれば終了するようにできます