سؤال

من C# على صندوق Windows، هل هناك طريقة لمعرفة كيف تم إيقاف العملية؟لقد ألقيت نظرة على عملية فئة، تمكنت من الحصول على رد اتصال ودي لطيف من حدث Exited بمجرد تعيينه EnableRaisingEvents = true; لكني لم أتمكن من معرفة هل تم إيقاف العملية أم أنها خرجت بشكل طبيعي؟

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

المحلول

قم بتشغيل مراقب العمليات (من Sysinternals، وهو جزء من Microsoft)، وقم بتشغيل العملية الخاصة بك واتركها تموت، ثم قم بتصفية نتائج مراقبة العمليات حسب اسم العملية الخاصة بك - ستتمكن من رؤية كل ما فعلته، بما في ذلك رموز الخروج.

نصائح أخرى

يمكنك استخدام رمز الإرجاع الخاص بالعملية لذلك.إذا قامت عمليتك بإرجاع قيمة غير صفرية من طريقتها الرئيسية، فيمكنك بعد ذلك التحقق مما إذا كانت العملية قد خرجت من تلقاء نفسها أم لا (تتطابق القيمة المرجعة).

إجابة جميلة أنطوان، للأسف لا أستطيع تغيير رمز الإرجاع.سيء - أعتقد أنني بحاجة إلى تضييق نطاق السؤال.

من الناحية الواقعية، لا أعتقد أنني بحاجة إلى حل برمجي أيضًا - ستكون الأداة المساعدة جيدة - لقد ألقيت نظرة على المظهر المثير للإعجاب عملية المستكشف ولكن لا يبدو أن هذا يعطيني هذه التفاصيل.

المشكلة التي أواجهها هي أن البرنامج الذي أرغب في استجوابه يتم تشغيله بواسطة نظام جدولة، يعادل المهام المجدولة في Windows، ولكن ليس ذلك.هل هناك طريقة لاكتشاف ما إذا كان هذا المجدول يوقف البرنامج بالقوة؟

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