私が何かをするとき
while True:
print('loop')
そしてそのコードを崇高に実行します。私はそれを止めることはできません。プロセスを手動で強制終了し、崇高なものを再起動する必要があります。
何らかの'max_execution_time'
を設定する方法や、これをうまく停止できる他の回避策はありますか?
使いたい Ctrl+Break。独自の情報については、Sublime Textの[ツール]で確認すると、ビルドのキャンセルと上記のホットキーが表示されます。無限ループに対してはうまく機能します。言うだけで十分です、私は同じことが起こっていました! ;)
Windowsユーザーの場合、 Break キー、それで設定>キーバインディングに移動し、行を変更します
{ "keys": ["ctrl+break"], "command": "cancel_build" }
などの別のショートカットへ Ctrl+Alt+B
MacOSの場合:
cmd + option + esc
強制終了する
ここにはいくつかのオプションがあります。繰り返しの最大数を非常に多く設定できます(無限ループの痛みを避けるために、実際にコードを完全にデバッグするまで、ほとんどのwhileループでこれを行います)。
max_iterations = 100000000
while i < max_iterations:
print("Hello World")
別の方法は、タイムモジュールを使用して、次のようにコードの実行時間を計時することです。
import time
max_execution_time = 10000000 #this will be in seconds
start_time = time.clock()
elapsed_time = 0
while elapsed_time < max_execution_time:
elapsed_time = time.clock() = start_time
#Your loop code here
CTRL + CキーオンMacOSと入力するだけです。
組み合わせはctrl+break
。
Windowsにはブレークボタンがないため、Preferences > Key Bindings
そしてユーザー側にこれを追加します:
{ "keys" : ["ctrl+c"], "command": "cancel_build"}
これで、Ctrl + Cを押すと実行が停止します。もちろん、組み合わせを好きなように変更できます。