进程输出重定向是指将一个程序的输出(标准输出和/或标准错误)重定向到文件或其他进程,而不是显示在控制台上。在C#中,可以通过配置进程启动信息来实现输出重定向。
stdout
)重定向到文件。stderr
)重定向到文件。以下是一个C#示例,展示如何批量停止进程并将输出重定向到文件:
using System;
using System.Diagnostics;
using System.IO;
class Program
{
static void Main()
{
string processName = "notepad"; // 要停止的进程名称
string logFilePath = "process_output.log"; // 日志文件路径
// 获取所有匹配的进程
Process[] processes = Process.GetProcessesByName(processName);
foreach (Process process in processes)
{
try
{
// 创建输出重定向的Stream
StreamWriter sw = new StreamWriter(logFilePath, true);
// 创建进程启动信息
ProcessStartInfo psi = new ProcessStartInfo
{
FileName = "cmd.exe",
Arguments = $"/c taskkill /f /im {process.ProcessName}",
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false,
CreateNoWindow = true
};
// 启动进程
Process cmdProcess = Process.Start(psi);
// 读取标准输出和标准错误
string output = cmdProcess.StandardOutput.ReadToEnd();
string error = cmdProcess.StandardError.ReadToEnd();
// 将输出写入日志文件
sw.WriteLine($"Output: {output}");
sw.WriteLine($"Error: {error}");
// 关闭流和进程
sw.Close();
cmdProcess.WaitForExit();
}
catch (Exception ex)
{
Console.WriteLine($"Error stopping process: {ex.Message}");
}
}
}
}
Process.GetProcessesByName
会返回空数组。需要添加相应的检查和处理逻辑。通过以上方法,可以有效地批量停止进程并将输出重定向到文件,便于后续查看和分析。
领取专属 10元无门槛券
手把手带您无忧上云