Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。
Q&A
解決済
1回答
1910閲覧
総合スコア76
0グッド
1クリップ
投稿2022/09/26 10:12
0
1
pythonのプログラムを強制終了したいのですが、
python1import sys 2sys.exit()
python
1import sys 2sys.exit()
だと、複数あるスレッドを全て強制終了させられません。 実行しているスレッド全てを終了させるにはどうすればよいでしょうか。 ちなみに
python1import os 2os._exit(1)
1import os 2os._exit(1)
とすると他のスレッドも終了したのですが、理屈がイマイチわかってません。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答1件
ベストアンサー
マルチスレッドのプログラムなのでしょうがコードが提示されないなら一般論として、行儀よく終了するべきかどうかをメインスレッドで判断してメインスレッドで終了しましょう、程度の回答にしかならないと思います。
https://docs.python.org/ja/3/library/sys.html#sys.exit
Raise a SystemExit exception, signaling an intention to exit the interpreter.
sys.exitはSystemExit例外を発生させる関数です。 例外を発生させるだけで"インタプリタを終了する"わけじゃありません。
sys.exit
https://docs.python.org/ja/3.10/library/threading.html#thread-objects
By default, threading.excepthook() ignores silently SystemExit.
threading が SystemExit を無視することは明記されています。
投稿2022/09/26 13:35
総合スコア11357
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
pythonのプログラムを強制終了したい
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。