以前も同様の問題に直面していました。これが私がそれを解決する方法です。
まず、次のようにして、Jython スクリプトにシグナル ハンドラーを登録します。
import signal
def intHandler(signum, frame):
print "Shutting down.."
System.exit(1)
# Set the signal handler
signal.signal(signal.SIGINT, intHandler)
signal.signal(signal.SIGTERM, intHandler)
これにより、Jython スクリプトが CTRL+C キーボード入力を処理するためのシグナル ハンドラーが登録されます。
ただし、デフォルトのコンソール クラス org.python.util.JLineConsole は ctrl+C を通常の文字入力として扱います。
次に、Jython プロパティを変更して、python.console を別のコンソール クラス org.python.core.PlainConsole に変更する必要があります。
python.console=org.python.core.PlainConsole
または jvm 引数を追加します。
-Dpython.console=org.python.core.PlainConsole
これは、CTRL+C が押された後にプログラムをシャットダウンするのに役立ちます。