Как отправить сигнал в JVM, созданный вызовом JNI_CreateJavavm? - PullRequest
3 голосов
/ 16 ноября 2009

Есть ли возможность, что я могу напрямую отправить сигнал на виртуальную машину Java, которая создается путем вызова JVM_CreateJavavm в собственном коде C / C ++?

например:.

Для нормального процесса Java, скажем, его pid - 12345, я могу послать ему сигнал 3 следующим образом ... kill -3 12345, и, надеюсь, я смогу запустить javacore или heapdump, изменив конфигурации JVM.

Однако, если JVM создается с помощью API JNI и помещается в приложение C / C ++, виден только PID собственного процесса, в этом случае, если я посылаю сигнал этому процессу, весь процесс просто завершается и кажется JVM не может получить сигнал вообще.

Заранее спасибо ...

Ответы [ 2 ]

3 голосов
/ 17 ноября 2009

Нет. Для JVM нет отдельного процесса. JVM просто работает в процессе, который вызвал его. Я не думаю, что Sun документирует способ использования этих обработчиков сигналов через интерфейс вызова.

1 голос
/ 15 сентября 2010
...