3

JVM_CreateJavavmネイティブC/C ++コードを呼び出して作成したJava仮想マシンに直接シグナルを送信できる可能性はありますか?

例えば:

通常のJavaプロセスの場合、そのpidが12345であるとすると、次のようにシグナル3を送信できます... kill -3 12345、そしてうまくいけば、JVM構成を変更することでjavacoreまたはheapdumpをトリガーできます。

ただし、JVMがJNI APIを介して作成され、C / C ++アプリケーション内にラップされている場合、ネイティブプロセスのPIDのみが表示されます。その場合、そのプロセスにシグナルを送信すると、プロセス全体が終了し、JVMが受信できないように見えます。まったく信号。

前もって感謝します ...

4

2 に答える 2

3

いいえ。JVMに個別のプロセスはありません。JVMは、それを呼び出したプロセスで実行されているだけです。Sunが、呼び出しインターフェイスを介してこれらのシグナルハンドラーを使用する方法を文書化しているとは思いません。

于 2009-11-16T23:05:59.577 に答える
1

http://www.scribd.com/doc/13119378/If-JNI-based-application-is-crashing-check-signal-handling

于 2010-09-14T22:16:43.213 に答える