c#中调用python程序

我在一个winform的c#程序里通过process调用python程序,这个python程序里有多线程。现在问题是我调用的python程序可以跑,但是跑一会就不能运行了,但是我如果单独运行python就没有问题,这是为什么。。` publ

ic void RunPythonScript(string path, string args = "")
        {
            path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "script\\" + path;
            
            p.StartInfo.FileName = "python.exe";
            string sArguments = "\"" + path + "\"";
            if (args.Length > 0)
            {
                sArguments += " " + args;
            }
            //p.StartInfo.WorkingDirectory = "D:\\";
            p.StartInfo.Arguments = sArguments;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            //p.CloseMainWindow();
            //p.WaitForExit();
        }`
        
        
阅读 8.1k
2 个回答

把下面的这行代码取消注释就可以了。前提你这个操作是在主线程之外。不然会阻塞。

//p.WaitForExit();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题