سؤال

إذا في بلدي C # التطبيق، أنا خلق عملية طفل التي يمكن إما إنهاء عادة، أو البدء في سوء التصرف، وفي هذه الحالة أنا إنهائه مع دعوة Process.Kill (). ومع ذلك، أود أن أعرف إذا كان العملية قد خرجت normally.I أعلم أنني يمكن الحصول على رمز الخطأ من عملية إنهاء، ولكن ما يمكن أن يكون رمز إنهاء العادي وما يعني أن عملية قتل؟

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

المحلول

ويمكنك استخدام خاصية ExitCode ولكن للأسف هذا يعتمد على كيفية بناء التطبيق. حتى إذا كان لديك شفرة المصدر لهذا التطبيق تأكد من أنه يعود بشكل صحيح على الخروج جيدة. يرجى الاطلاع على هذا الرابط لMSDN واصفا هذا بمزيد من التفصيل: http://msdn.microsoft.com/en- لنا / مكتبة / system.diagnostics.process.exitcode.aspx

نصائح أخرى

والكود لProcess.Kill () في البرامج وضع رمز إنهاء -1 (اعتبارا من سبتمبر 2012). يستخدم نظام التشغيل ويندوز في الواقع قيم غير موقعة 32 بت لرموز الإنهاء ولكن أعتقد أن signed-> unsigned-> ترجمة قعت في C # يجب أن تعمل (ولست بحاجة فقط للتحقق من صفر أو غير صفرية لذلك لا يهم ل قانون بلدي).

وعلى صعيد آخر، وهذا هو الواضح السلوك غير الشرعيين (لماذا؟) حتى مايكروسوفت يمكن تغييره غدا وكسر قانون بلدي من خلال تحديد رمز إنهاء 0.

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