2009-11-16 31 views
2

我有沒有可能直接將信號發送到通過在本地C/C++代碼中調用JVM_CreateJavavm創建的Java虛擬機?如何將信號發送給由JNI_CreateJavavm調用創建的JVM?

如:

對於一個普通的Java程序,說出它的PID是12345,我可以發送一個信號3像這樣...... 殺-3 12345,並希望我能引發的javacore或堆轉儲改變JVM配置。

但是,如果通過JNI API創建JVM並將其包裝在C/C++應用程序中,則只有本機進程的PID可見,在這種情況下,如果我向該進程發送信號,整個進程就會終止, JVM根本無法接收信號。

在此先感謝...

回答

2

沒有.JVM沒有單獨的進程。 JVM只是在調用它的過程中運行。我不認爲Sun會通過調用接口記錄一種使用這些信號處理程序的方法。