抑制 Java Ctrl+Break 行为

Suppress Java Ctrl+Break behavior

Java(至少我试过的版本 7 和 8)有一个默认行为,当它收到 Ctrl+Break 信号,它写出一个完整的线程转储。有什么方法可以禁用或抑制此输出吗?

根据java命令手册的Non-Standard Options section,您可以使用-Xrs选项来禁用它:

-Xrs

Reduces the use of operating system signals by the JVM.

There are two consequences of specifying -Xrs:

  • Ctrl + Break thread dumps are not available.
  • User code is responsible for causing shutdown hooks to run, for example, by calling System.exit() when the JVM is to be terminated.

与所有 -X-XX 选项一样,不保证在未来的 Java 版本中可用。