【问题标题】:Tasklist process don't terminate after its execution任务列表进程在执行后不会终止
【发布时间】: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 上进行开发。

【问题讨论】:

标签: c# mono


【解决方案1】:

自从您设置RedirectStandardOutput = true; 后,启动的进程将填充标准输出缓冲区。 尝试阅读StandardOutput,直到你用完所有内容:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-31
    • 1970-01-01
    相关资源
    最近更新 更多