2016-10-21 15 views
2

Java (по крайней мере версии 7 и 8, которые я пробовал) имеет поведение по умолчанию, в котором, когда он получает + Перерыв сигнал Ctrl, он выписывает полный дамп потоков. Есть ли способ отключить это или подавить этот вывод?Подавить Java Ctrl + Break поведение

+1

Это не исключение. См. Http://stackoverflow.com/questions/10756105/how-to-get-a-complete-stack-trace-of-a-running-java-program-that-is-taking-100. Тем не менее, «дамп стека» - это неправильный термин, он сбрасывает все потоки. – Vijay

ответ

2

Согласно Non-Standard Options section руководства для команды java, вы можете использовать опцию -Xrs, чтобы отключить его:

-Xrs

Уменьшает использование операционной системы сигналов с помощью виртуальной машины Java ,

...

Есть два последствия указания -Xrs:

  • Ctrl + Break нить отвалы не доступны.
  • Пользовательский код отвечает за то, что вызывающие крючки запуска выполняются, например, путем вызова System.exit(), когда JVM должен быть завершен.

Как и со всеми -X и -XX вариантов, это не гарантировано будет доступна в будущем Java высвобождает.