Macos process.WaitForExit()未在Mac OS X-ASP.NET Core 2.2中等待

Macos process.WaitForExit()未在Mac OS X-ASP.NET Core 2.2中等待,macos,asp.net-core-2.2,Macos,Asp.net Core 2.2,我有一个ASP.NET Core 2.2应用程序。当我调用下面的测试方法(从Chrome浏览器)时,基于操作系统类型,将打开Chrome浏览器的一个新的Incognito实例 在Windows和Linux(在虚拟机中运行)中,进程.WaitForExit()正在等待Incognito浏览器关闭 但是,在Mac OS X(在虚拟机中运行)中,进程.WaitForExit()没有等待。它在process.Start()之后立即调用 如何确保流程等待浏览器关闭 public IActionResult

我有一个ASP.NET Core 2.2应用程序。当我调用下面的测试方法(从Chrome浏览器)时,基于操作系统类型,将打开Chrome浏览器的一个新的Incognito实例

在Windows和Linux(在虚拟机中运行)中,
进程.WaitForExit()
正在等待Incognito浏览器关闭

但是,在Mac OS X(在虚拟机中运行)中,
进程.WaitForExit()
没有等待。它在
process.Start()之后立即调用

如何确保流程等待浏览器关闭

public IActionResult Test()
    {
        string fileName = "";
        string arguments = "";

        if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
        {
            fileName = @"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe";
            arguments = @"-incognito --user-data-dir=""C:\Users\bala_sakthis\AppData\Local\Temp\ChromeData"" data:,";                
        }
        else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
        {
            fileName = "google-chrome";
            arguments = @"-incognito --user-data-dir=""/home/osboxes/ChromeData"" data:,";                
        }
        else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
        {
            fileName = "open";
            arguments = @"-a ""Google Chrome"" -n --args --incognito --user-data-dir=""/Users/bala/ChromeData"" data:,";
        }

        var process = new Process();
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.FileName = fileName;
        process.StartInfo.Arguments = arguments;

        using (process)
        {
            try
            {
                process.Start();

                process.WaitForExit();

                Console.WriteLine("Process exited...");
                Console.WriteLine(process.HasExited);
            }
            catch (Exception exp)
            {
                Console.WriteLine(exp);
            }
        }

        return new OkResult();
    }