بويرشيل ويتوفوريكسيت لا يعمل


بويرشيل ويتفوريكسيت لا يعمل
الحصول على فيا أب ستور قراءة هذه المشاركة في التطبيق لدينا!
الحصول على إكسيتكود باستخدام بدء العملية و ويتفوريكسيت بدلا من - Wait.
أحاول تشغيل برنامج من بويرشيل، انتظر للخروج، ثم الحصول على إكسيتكود، ولكن ليس لديها الكثير من الحظ. أنا لا أريد أن استخدام - Wait مع بدء العملية، وأنا بحاجة إلى بعض المعالجة على الاستمرار في الخلفية.
في ما يلي نص برمجي مبسط:
سيؤدي تشغيل هذا البرنامج النصي إلى بدء تشغيل المفكرة. بعد إغلاق هذا يدويا، سيتم طباعة رمز الخروج، وسوف تبدأ مرة أخرى، دون استخدام - wait. لا يتم توفير إكسيتكود عند إنهاء هذا:
أنا بحاجة إلى أن تكون قادرة على أداء معالجة إضافية بين بدء البرنامج والانتظار لإنهاء، لذلك لا أستطيع الاستفادة من - Wait. أي فكرة كيف يمكنني القيام بذلك ولا يزال الوصول إلى الخاصية. ExitCode من هذه العملية؟
أمرين يمكن أن تفعله أعتقد.
إنشاء كائن System. Diagnostics. Process يدويا وتجاوز بدء العملية تشغيل قابل للتنفيذ في مهمة الخلفية (فقط للعمليات غير التفاعلية!)
في ما يلي كيفية القيام بما يلي:
هناك أمران يجب تذكرهما هنا. واحد هو لإضافة الوسيطة - PassThru واثنان هو إضافة الوسيطة - Wait. تحتاج إلى إضافة وسيطة الانتظار بسبب هذا العيب connect. microsoft/PowerShell/feedback/details/520554/start-process-does-not-return-exitcode-property.
بمجرد القيام بذلك يتم تمرير كائن عملية مرة أخرى ويمكنك إلقاء نظرة على الخاصية إكسيتكود من هذا الكائن. هنا مثال:
إذا قمت بتشغيله دون - PassThru أو - Wait، فإنه سيتم طباعة أي شيء.
أثناء محاولة الخروج من الاقتراح النهائي أعلاه، اكتشفت حلا أبسط حتى. كل ما كان علي القيام به كان مخبأ مقبض العملية. حالما فعلت ذلك، $ process. ExitCode عملت بشكل صحيح. إذا لم أكن مخبأ مقبض العملية، كان $ process. ExitCode فارغ.
أو حاول إضافة هذا.
باستخدام هذا الرمز، لا يزال بإمكانك السماح بويرشيل رعاية إدارة إخراج / تيارات خطأ إعادة توجيه، والتي لا يمكنك القيام به باستخدام System. Diagnostics. Process. Start () مباشرة.
يبدو الخيار "-Wait" لمنع بالنسبة لي على الرغم من أن عمليتي قد انتهى.
حاولت حل أدريان وأنه يعمل. ولكنني انتظرت عملية بدلا من الاعتماد على أثر جانبي لاسترجاع مقبض العملية.

بوويرشيل.
94 & # 32؛ пользователя находятся здесь.
МОДЕРАТОРЫ.
مرحبا بكم في رديت،
الصفحة الأولى للإنترنت.
والاشتراك في واحدة من الآلاف من المجتمعات المحلية.
تريد إضافة إلى المناقشة؟
помощь правила сайта центр поддержки вики реддикет مود غدلينس связаться с нами.
приложенияи инструменты رديت لأيفون رديت لالروبوت موقع الجوال кнопки.
Использование данного сайта означает، что вы принимаете & # 32؛ пользовательского соглашения & # 32؛ и & # 32؛ Политика конфиденциальности. &نسخ؛ 2018 ريديت инкорпорейтед. Все права защищены.
يتم تسجيل ريديت وشعار ألين علامات تجارية مسجلة لشركة رديت إنك.
وبي. تم تقديمه بواسطة بيد 47443 على & # 32؛ أب-379 & # 32؛ في 2018-01-21 07: 59: 09.805547 + 00: 00 تشغيل b9fb900 رمز البلد: وا.

ستارت-بروسيس يجب أن تدعم مهلة # 5185.
جيكول علق أكتوبر 20، 2017.
[System. Diagnostics. Process] يحتوي على. WaitForExit الذي يحتوي على قيمة المهلة.
يجب أن يكون بدء العملية معلمة حيث يمكننا تمرير ذلك بدلا من الحاجة إلى - Passthru والتقاط كائن العملية.
ستواجنت علق أكتوبر 21، 2017 & # 8226؛
ويسرني أن ألقي نظرة على هذه المسألة إذا لم يتم تعيين أي شخص آخر لها، وهو أمر مطلوب.
إذا كان الأمر كذلك، لدي بعض الأسئلة:
وجود نظرة من خلال كودباس، وأعتقد أن الملف PROC. cs هو حيث يجب تنفيذ هذا process. WaitForExit يستخدم ميلي ثانية للحصول على قيمة المهلة. هل تتوقع المعلمة ستارت-بروسيس أيضا مللي ثانية؟ ماذا ينبغي أن يتم استدعاء المعلمة ستارت-بروسيس؟ أنا ذاهب إلى افتراض - Timeout، على الرغم من - WaitTimeout أو - ProcessTimeout يمكن أيضا أن تكون مناسبة.
ردا على السؤالين الأخيرين، لقد وجدت الآن كمدليت الانتظار العملية التي تستخدم معلمة - Timeout مع ثواني (وثائق ميكروسوفت، بويرشيل رمز). وسأستخدم هذه الإعدادات من أجل الاتساق.
ستيفيل-مسفت علق أكتوبر 22، 2017 & # 8226؛
stuajnht رائع! النظر في ذلك لك! وأعتقد أن اتباع اتفاقيات االنتظار أمر منطقي. سأقوم بتعيين بويرشلتيم وإزالة ما يصل ل - الاستيلاء حتى شخص آخر لا تكرار عملك. شكر!
تمت الإشارة إلى ذلك في 13 تشرين الثاني (نوفمبر) 2017.
يجب أن يحتوي الأمر إنفوك-كوماند على معلمة - Timeout # 5434.
بدء العملية: إضافة معلمة & # 39؛ إكسيتيميوت & # 39؛ # 5471.
&نسخ؛ 2018 جيثب، Inc. شروط الخصوصية تعليمات حالة الأمان.
لا يمكنك تنفيذ هذا الإجراء في الوقت الحالي.
لقد سجلت الدخول باستخدام علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة. لقد سجلت الخروج في علامة تبويب أو نافذة أخرى. أعد التحميل لتحديث الجلسة.

منتديات الدعم.
حدثت مشكلة مع System. Diagnostics. Process الإخراج.
لا تقم بإضافة أرقام الاشتراك أو مفاتيح الترخيص أو أي معلومات ترخيص أخرى في هذا المنتدى.
لا يمكن إلا للمؤلف الأصلي وموظفي التكنولوجيا لدينا الرد على الموضوع الذي تم إنشاؤه في هذا المنتدى. إذا وجدت موضوعا يتعلق بمشكلة تواجهها، فالرجاء إنشاء موضوع جديد والإشارة إلى الموضوع الآخر في مشاركتك.
حدثت مشكلة مع System. Diagnostics. Process الإخراج.
أنا خبطت رأسي قليلا قبل اكتشاف المشكلة يحدث فقط في بويرشيل ستوديو. رمز المثال التالي يعمل بشكل جيد في بويرشيل، أيس، بويرغوي، ولكن ليس في بس (يرجى ملاحظة كان لي لتغيير مساجداتا إلى M_essageData لإرسال هذه المشاركة)
رمز بويرشيل.
حدثت مشكلة مع System. Diagnostics. Process الإخراج.
2. حدد ما إذا كنت تقوم بتشغيل إصدار 32 أو 64 بت.
3. حدد نظام التشغيل الخاص بك وإذا كان 32 أو 64 بت.
4. إرفاق لقطة إذا كان يمكن أن ينظر إلى مشكلتك على الشاشة.
5. قم بإرفاق ملف مضغوط إذا كان لديك ملفات متعددة (تقارير الأعطال، إدخالات السجل، الخ) المتعلقة بمشكلتك. إذا لم يكن الأمر كذلك، يرجى تخصيص بعض الوقت لتعديل مشاركتك الأصلية أو الرد على هذه المشاركة.
إعادة: مشكلة مع System. Diagnostics. Process إعادة توجيه أوتبو.
رمز بويرشيل.
لماذا لا تتصل فقط بينغ مباشرة في بويرشيل؟
رمز بويرشيل.
سابين تيشنولوجيز، Inc.
إعادة: مشكلة مع System. Diagnostics. Process إعادة توجيه أوتبو.
وضع نقطة توقف عند 34 يعطي غلة مجموعة مختلفة من الأخطاء. يبدو التصحيح لا يمكن التنبؤ بها للغاية. نأمل أن نتمكن من الحصول على الجزء السفلي من هذا.

معالجة . طريقة ويتفوريكسيت.
تحتوي الوثائق المرجعية أبي على منزل جديد. انتقل إلى متصفح أبي على docs. microsoft للاطلاع على التجربة الجديدة.
تعيين الفترة الزمنية للانتظار حتى يتم إنهاء العملية المقترنة، وحظر سلسلة عمليات التنفيذ الحالية حتى انقضاء الوقت أو إنهاء العملية. لتجنب حظر مؤشر الترابط الحالي، استخدم الحدث الذي تم الخروج منه.
للحصول على أمثلة التعليمات البرمجية، راجع صفحات مرجع الخاصية ستانداردرور و إكسيتكود.
الجمعية: النظام (في System. dll)
لإرشاد مكون العملية بالانتظار إلى أجل غير مسمى للخروج من العملية المقترنة.
يرشد مكون العملية إلى الانتظار لعدد الملي ثانية المحدد للعملية المقترنة للخروج.

Comments