我使用Process
类来启动Python,如下所示(在一个线程中):
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "python.exe";
info.Arguments = "test.py";
Process p = new Process();
p.StartInfo = info;
p.RedirectStandardOutput = true;
p.RedirectStandardError = true;
...
p.Start();
p.WaitForExit();
当Python以错误结束时(python进程不再显示在Windows任务管理器中),WaitForExit仍然挂起。但是,如果我使用IronPython
代替,它可以正常工作。谁能告诉我为什么?
答案 0 :(得分:0)
解决。 Redirects和ErrorDataReceived / OutputDataReceived事件实现导致此问题,改为使用Redirects和StreamReader。
答案 1 :(得分:0)
尝试将python.exe更改为pythonw.exe