web-dev-qa-db-ja.com

pythonスクリプトの実行を停止/終了する方法は?

テキストファイルをトークン化するプログラムをIDLEで作成し、349個のテキストファイルのトークン化を開始しました。どうすれば止めることができますか?実行中のPythonプログラムを停止するにはどうすればよいですか?

46
MACEE

プログラムを停止するには、単に Control + C

36
Christian

コードでexit()関数を使用する場合にも実行できます。より理想的には、sys.exit()を実行できます。 multiprocessingパッケージを使用して並行して実行している場合でも、sys.exit()はPythonを終了する場合があります。

39
Amir

Ctrl-BreakそれはCtrl-Cよりも強力です

20
Scott P.
  • pythonスクリプトを停止するには、Ctrl + Cを押します。
  • exit()を使用してスクリプト内で実行できます。
  • 終了するだけで、インタラクティブスクリプトで実行できます。
  • pkill -f name-of-the-python-scriptを使用できます。
18
wpp

プログラムが対話型コンソールで実行されている場合は、を押します CTRL + C メインスレッドでKeyboardInterrupt例外を発生させます。

Pythonプログラムがキャッチしない場合、KeyboardInterruptによりPythonが終了します。ただし、except KeyboardInterrupt:ブロック、または裸のexcept:のようなものは、このメカニズムが実際にスクリプトの実行を停止するのを防ぎます。

KeyboardInterruptが機能していない場合は、代わりにSIGBREAKシグナルを送信できます。 Windowsでは、 CTRL + Pause/Break キャッチ可能なKeyboardInterrupt例外を生成せずにインタープリターで処理できます。

ただし、これらのメカニズムは、主にPythonインタープリターが実行され、オペレーティングシステムイベントに応答している場合にのみ機能します。 Pythonインタープリターが何らかの理由で応答しない場合、最も効果的な方法は、インタープリターを実行しているオペレーティングシステムプロセス全体を終了することです。このメカニズムは、オペレーティングシステムによって異なります。

Unixスタイルのシェル環境では、次を押すことができます。 CTRL + Z to suspend現在コンソールを制御しているプロセス。シェルプロンプトを取得したら、jobsを使用して一時停止中のジョブを一覧表示し、kill %1で最初の一時停止中のジョブを強制終了できます。 (再度実行する場合は、fg %1を使用してフォアグラウンドでジョブを続行できます。詳細については、ジョブ制御に関するシェルのマニュアルを参照してください。)

または、UnixまたはUnixライクな環境では、PythonプロセスのPID(プロセス識別子)を見つけて、PIDで強制終了できます。 ps aux | grep pythonのようなものを使用して、実行中のPythonプロセスを見つけ、kill <pid>を使用してSIGTERMシグナルを送信します。

UnixのkillコマンドはデフォルトでSIGTERMを送信し、PythonプログラムはSIGTERMモジュールを使用してsignalのシグナルハンドラーをインストールできます。理論的には、SIGTERMのシグナルハンドラはプロセスを正常にシャットダウンする必要があります。ただし、プロセスがスタックしている場合(たとえば、割り込み不可能なIOスリープ状態でブロックされている場合)、プロセスを起動して処理することすらできないため、SIGTERM信号は効果がありません。

シグナルに応答していないプロセスを強制終了するには、kill -9SIGKILL定数の数値であるため、9とも呼ばれるSIGKILLシグナルを送信する必要があります。コマンドラインからkill -KILL <pid>(または略してkill -9 <pid>)を使用してSIGKILLを送信し、プロセスの実行をすぐに停止できます。

Windowsでは、プロセス信号のUnixシステムはありませんが、TerminateProcess関数を使用して、実行中のプロセスを強制的に終了できます。インタラクティブに、これを行う最も簡単な方法は、タスクマネージャーを開き、プログラムに対応するpython.exeプロセスを見つけて、[プロセスの終了]ボタンをクリックすることです。同様の目的でtaskkillコマンドを使用することもできます。

16
Daniel Pryden

実行中のプログラムを停止するには、CTRL + Cを使用してプロセスを終了します。

Pythonでプログラムで処理するには、sysモジュールをインポートし、プログラムを終了する場所でsys.exit()を使用します。

import sys
sys.exit()
10
Chandila07

pythonシェルに引っかかっている場合は、Ctrl + Zで実行する必要があります。スクリプトのインスタンスはバックグラウンドで実行し続ける可能性があるため、Linuxでは対応するプロセスを強制終了する必要があることに注意してください。

3
Juke

Linuxターミナルでpythonスクリプトを実行している場合、CTRL + \が機能します。 (CRTL + CまたはDではありません)

3
Stefun06

Activity Monitorを使用して、pyプロセスを停止することもできます

2
Dennis

Control+D Windows 10でも動作します。また、exit()を最後に追加しても動作します。

1
chess_lover_6

プログラムを停止するには、単に CTRL + D

またはexit()

1
Vivek Parmar

Spyderを使用している場合は、CTRL +。(DOT)を使用すると、カーネルが再起動します。また、停止しますプログラム。

0
l1den

押す Ctrl+Alt+Delete タスクマネージャーが表示されます。実行中のPythonコマンドを見つけて右クリックし、[停止]または[強制終了]をクリックします。

0
Andrew Hyder