Я сталкивался с подобной проблемой раньше. Вот как я это решаю.
Сначала зарегистрируйте обработчик сигнала в вашем сценарии 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 как обычный ввод символов.
Итак, во-вторых, необходимо изменить python.console на альтернативный консольный класс org.python.core.PlainConsole, либо изменив свойство Jython:
python.console=org.python.core.PlainConsole
или добавьте аргумент jvm:
-Dpython.console=org.python.core.PlainConsole
Это поможет вам закрыть программу после нажатия CTRL+C.
person
Feng
schedule
09.07.2015