任务列表进程在执行后不会终止

本文关键字:终止 执行 列表 进程 任务 | 更新日期: 2023-09-27 18:14:21

我正在运行以下代码片段:

_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。

任务列表进程在执行后不会终止

自设置RedirectStandardOutput = true;以来,已启动的进程将填充StandardOutput缓冲区。试着从StandardOutput中读取,直到读取完所有内容:

_taskListProcess.Start();
while (!_taskListProcess.StandardOutput.EndOfStream)
{
    Console.WriteLine(_taskListProcess .StandardOutput.ReadLine());
}