13

Java 仮想マシン内で POSIX シグナルを処理することは可能ですか?

少なくともSIGINTSIGKILLは完全にプラットフォームに依存しないはずです。

4

2 に答える 2

13

JVM は独自にシグナルに応答します。シャットダウン フックの実行を含む、JVM の正常なシャットダウンを引き起こすものもあります。他のシグナルは、シャットダウン フックを実行せずに JVM を異常終了させます。

シャットダウン フックは、Runtime.addShutdownHook(Thread)を使用して追加されます。

JDK が、Java アプリケーション内でシグナルを処理する公式の方法を提供しているとは思いません。しかし、文書化されていないクラスを使用して正確にそれを行う方法について説明しているIBM の記事を見つけました。sun.misc.Signalこの記事は 2002 年のもので、JDK 1.3.1 を使用していますが、このsun.misc.Signalクラスがまだ JDK 1.6.0 に存在することを確認しました。

于 2008-09-03T04:08:58.537 に答える
4

おそらくRuntime#addShutdownHookですか?

于 2008-09-02T19:39:45.717 に答える