我有一個多線程的C#應用程序,它具有讀寫器鎖定,但它在某些計算機上發出超時異常(無法及時獲取鎖定),我需要強制關閉所有線程。 我如何做到這一點沒有得到任何額外的例外?如何在C#中強制退出應用程序?
回答
Environment.FailFast可能是你在找的東西,但要小心副作用:不要終結器,最後是塊或其他任何東西運行。它確實會終止NOW。
好的,我用它,它給了我這個例外: 運行時遇到了一個致命的錯誤。錯誤的地址是0x044f07bd,線程0xfb0。錯誤代碼是0x80131623。此錯誤可能是CLR中的錯誤,也可能是用戶代碼中不安全或不可驗證的部分。此錯誤的常見來源包括COM-interop或PInvoke的用戶編組錯誤,這可能會破壞堆棧。 – armin
值得一提的是Environment.Exit的選項。它們都保證立即退出,但Exit不會生成系統事件錯誤事件並運行try/finally終結器。 – angularsen
,強制退出應用程序儘快與您可以使用Environment.FailFast()
我想迫使應用程序退出的最佳解決方案是使用下面的代碼行:
Environment.Exit(0)
Envrironment.FailFast()
與結束運行時異常。
謝謝 - 這對我來說最合適,因爲我想避免例外。 – stuzor
此,如果你正在尋找一個純C#代碼終止您的應用程序可能是答非所問,但您可以使用終止進程,如taskkill
命令,該命令將終止確保您的應用程序的系統的原生形態。
試試看。首先添加系統參考。
using System.Diagnostics;
無論你需要終止進程,
String process = Process.GetCurrentProcess().ProcessName;
Process.Start("cmd.exe", "/c taskkill /F /IM " + process + ".exe /T");
/F
- 強制終止。/T
- 終止進程樹(進程和由其啓動的任何其他進程)。/IM
- 圖像名稱或進程名稱。
- 1. 如何強制退出Tkinter程序
- 2. 如何知道用戶是否強制退出應用程序?
- 3. 如何使用Monotouch強制退出iOS應用程序?
- 4. ios如何強制退出應用程序
- 5. 如何強制pty.spawn()啓動的應用程序完全退出?
- 6. 如何恢復下載,當應用程序強制退出?
- 7. 如何強制退出Android應用程序並重新啓動?
- 8. 當用戶在C++控制檯應用程序中輸入「退出」時,如何退出應用程序?
- 9. 退出事件處理程序強制應用程序關閉
- 10. 在Visual C++中退出應用程序
- 11. C# - 如何「強制退出」一法
- 12. 強制退出BlackBerry 10中的Android應用程序
- 13. OSX內置強制退出應用程序獲取其應用程序列表?
- 14. 正在退出C應用程序
- 15. 如何在Objective-C應用程序中退出?
- 16. 如何使用開關盒在C中退出控制檯應用程序?
- 17. 如何強制ruby程序在退出時重新運行?
- 18. 強制退出應用程序遇到強制關閉錯誤android
- 19. Android完全強制退出應用程序
- 20. 獲取強制退出窗口的應用程序
- 21. 可可 - 強制退出所有其他應用程序
- 22. 推送通知代碼執行(強制退出應用程序)
- 23. applicationWillTerminate沒有被強制退出iOS應用程序
- 24. 的Mac Kiosk模式API - 強制退出應用程序崩潰
- 25. 如何從Android應用程序中退出應用程序
- 26. 如何強制所有程序線程在程序關閉時退出?
- 27. 強制退出遊戲框架應用
- 28. C++停止其他程序由PID強制退出客戶端
- 29. 應用程序退出控制
- 30. 應用程序不退出C#
'Environment.FailFast(int)'會盡快殺死你的應用程序。 – vcsjones
可能重複http://stackoverflow.com/questions/1057151/application-exit – angularsen