[英]How to save parent process from fatal error in child process
我的目標是隔離 NET Core 的一些代碼執行。
有沒有辦法從應用程序 #2 的失敗中保存應用程序 #1?
也許我誤解了一些東西,但我認為這些應該完全分開。 請幫忙。 如果有的話,也會感謝 NET Framework 的解決方案。
ProcessStartInfo processStartInfo = new ProcessStartInfo(filePath, processArgs)
{
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
};
using (Process process = new Process()
{
StartInfo = processStartInfo,
EnableRaisingEvents = true
})
{
process.Start();
process.WaitForExit();
return process.StandardOutput.ReadToEnd();
};
因此,將子應用程序的代碼包裝起來就足夠了。 即使在子應用程序中出現OutOfMemoryException
、 StackOverflowException
、 AccessViolationException
之后,父應用程序仍會繼續其工作。
請記住,子應用程序可能需要一些時間來完全釋放它在崩潰后使用的資源,因此其中一些可能仍被鎖定在父應用程序中。
謝謝大佬開眼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.