سؤال

في Java أو عبر بعض المكون الإضافي Eclipse، هل من الممكن العثور على عملية بالاسم بدون إسقاط إلى الكود الأصلي؟ على وجه التحديد، أريد تحديد ما إذا كان مستعرض ويب يعمل ودع المستخدم يعرف قد يحتاج إلى إعادة تشغيل المتصفح.

أعرف الرمز الأصلي هو خيار دائما ولكن أريد تجنب إعداد مكتبة JNI أخرى إذا استطعت تجنبها.

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

المحلول

انها في الواقع سؤال مكررة، انظر نسخة أصلية واحدة.

لديك خياران هنا، أحدهما هو تشغيل أداة سطر الأوامر التي ستدرج العمليات قيد التشغيل وتحليل إخراجها. كما ذكرنا بواسطة Jay On Linux، يمكن استخدام "PS"، على Windows، ستحتاج إلى حزمة بعض الأداة، إما منفذ PS من Gnuwin / Cygwin / ETC أو أداة أصلية مثل pslist., ، أو انظر إلى عينة.

الخيار الثاني، الذي تعرفه بالفعل هو استخدام JNI، ومع ذلك لا تحتاج إلى كتابة التعليمات البرمجية الخاصة بك من نقطة الصفر، قد تفكر jniwrapper.. وبعد إنه يوفر سهلة الاستخدام Java API لوظائف OS الشائعة الأصلية. كما أنها توفر تراخيص مجانية للمشاريع المصدر المفتوحة.

نصائح أخرى

لا أعرف أي طريقة للحصول على قائمة بالعمليات الجارية مباشرة من Java. إذا كنت في Linux، فيمكنك إنشاء عملية تنفذ "PS"، وقراءة Inputstream العملية لاعتراض النتائج وتحليلها. لن تحتاج إلى النزول إلى مستوى JNI للقيام بذلك: يمكنك تنفيذ أمر Shell مع عملية.

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