【发布时间】:2014-07-23 18:38:27
【问题描述】:
我正在运行这段代码 sn-p:
_taskListProcess = new System.Diagnostics.Process();
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.FileName = "cmd.exe";
startInfo.Arguments = "/C tasklist /FO CSV /NH";
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
_taskListProcess.StartInfo = startInfo;
_taskListProcess.EnableRaisingEvents = true;
_taskListProcess.Exited += new EventHandler(HandleTaskListProcessTerminated);
_taskListProcess.Start();
我的问题是任务列表进程永远不会终止。我看到它在窗口任务管理器中晃来晃去。因此,我的函数 HandleTaskListProcessTerminated 永远不会被调用。
我正在使用 Mono 的 Unity 上进行开发。
【问题讨论】:
-
由于您正在重定向输出,因此缓冲区已满。尝试采取这里提到的方法stackoverflow.com/q/439617/27083来解决问题。