كيفية إرسال إشارة إلى JVM التي أتاحتها المبادرة JNI_CreateJavavm؟

StackOverflow https://stackoverflow.com/questions/1740837

سؤال

هل هناك أي احتمال أن أستطيع أن ترسل مباشرة إشارة إلى جهاز جافا الافتراضية الذي يتم إنشاؤه عن طريق الاتصال JVM_CreateJavavm في الأصلي C / رمز C ++؟

ومنها مثلا:

لعملية جافا العادية، ويقول معرف المنتج لها هو 12345، ويمكن أن يرسل إشارة 3 إلى مثل هذا ... قتل -3 12345، وأتمنى أن يؤدي javacore أو heapdump عن طريق تغيير تكوينات JVM.

ولكن إذا تم إنشاء JVM من خلال JNI API وملفوفة داخل تطبيق C / C ++، PID فقط عملية الأصلي هو واضح، في هذه الحالة إذا أنا أرسل إشارة إلى أن عملية، والعملية برمتها يتم إنهاء فقط ويبدو أن هذا JVM لا يمكن الحصول على إشارة على الإطلاق.

وشكرا مقدما ...

هل كانت مفيدة؟

المحلول

ولا. لا يوجد أي عملية منفصلة لJVM. وJVM هو مجرد تشغيل في العملية التي يطلق عليها. لا أعتقد أن الشمس يوثق طريقة لاستخدام تلك معالجات الإشارات عبر واجهة الاحتجاج.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top