redirectstandardoutput相关内容
我阅读了 Process.StandardOutput 的文档,其中有这样的引用: 如果父进程在 p.StandardOutput.ReadToEnd 之前调用 p.WaitForExit 并且子进程写入足够的文本来填充重定向的流,则可能导致死锁情况. 所以我想知道.如果我还担心在某些情况下可能会填充 StandardError,那么正确的方法是什么? 我是否必须使用循环来交替读
..
我有一个经常使用外部程序并读取其输出的程序.使用您通常的进程重定向输出,它可以很好地工作,但是当我尝试读取它时,由于某种原因一个特定参数挂起,没有错误消息 - 没有例外,它只是在到达该行时“停止".我当然使用一个集中的函数来调用和读取程序的输出,就是这样: public string ADBShell(string adbInput){尝试{//创建空值字符串结果 = string.Empty;
..
我想将进程的标准输出重定向到一个字符串以供以后解析.我还想在进程运行时在屏幕上看到输出,而不仅仅是在运行完成时. 这可能吗? 解决方案 使用 重定向标准输出. 来自 MSDN 的示例: //启动子进程.进程 p = new Process();//重定向子进程的输出流.p.StartInfo.UseShellExecute = false;p.StartInfo.Redire
..
无论如何,是否可以重定向衍生进程的标准输出并在其发生时捕获它.我所看到的一切只是在过程完成后执行 ReadToEnd.我希望能够在打印时获得输出. 编辑: private void ConvertToMPEG(){//启动子进程.进程 p = new Process();//重定向子进程的输出流.p.StartInfo.UseShellExecute = false;p.StartInf
..
我需要使用 URL 传递 3 个变量,但使用斜杠.例如,我会使用这个 URL: http://www.example.com/variable1/variable2/variable3 我的 HTACCESS 中有这个,它允许传递第一个变量之后的文本,但我无法通过其他两个变量,即使我添加了 &$2 重写引擎开启RewriteCond %{REQUEST_FILENAME} !-fRe
..
我的应用程序有很多 System.out.println() 语句. 我想从 println 捕获消息并将它们发送到标准记录器(Log4j、JUL 等). 怎么做? 解决方案 System 类有一个 setOut 和 setErr 可用于将输出流更改为,例如,一个带有支持 File 的新 PrintStream,或者,在这种情况下,可能是另一个使用您选择的日志子系统的流.
..
我正在将应用程序的输出传递到我的.NET应用程序中. 编码有点奇怪.字母ÅÄÖ显示为├Ñ├ñ├ 我试图从各种不同的编码来回转换而没有成功.有人知道如何在此处正确转换字符串吗? 例如该应用程序的文档说输出为UTF8,所以我已经尝试过了: byte [] encodeBytes = Encoding.UTF8.GetBytes(theOutput);var res = Encod
..
在我的C#代码中,我必须运行一些外部进程.这些可能是批处理文件或可执行文件.通过将 ProcessStartInfo 的 RedirectStandardOutput 设置为true,可以将输出重定向到我自己的窗口.这样,即使在外部过程完成后,用户也可以查看输出.我还重定向输入,以便用户在必要时可以按键.一般而言,这很好. 但是,我有一个问题.一些批处理文件使用 PAUSE 命令.显然,直到
..
对于具有大量输出或错误的流程,请尝试通过简单的方法重定向标准输出和错误 string output = process.StandardOutput.ReadToEnd(); string err = process.StandardError.ReadToEnd(); process.WaitForExit(); 将导致程序挂起,而从未真正完成. 解决方案 事实证明,大量输出填
..
上周,我发布了问题 在C#DLL文件中将其作为进程运行时,如何获取控制台应用程序输出? ,因为我试图找出问题的原因,曾经有。但是,我无法找到出现错误的原因,因此我想问一个跟我直接有关的问题。 我正在工作DLL文件中的on方法,我必须在其中启动一个进程。用于执行此操作的代码是: ProcessStartInfo psi = new ProcessStartInfo(); psi.U
..
这可能是一个简单的操作系统问题,而不是编程问题,因此我们可能需要将其迁移到另一个社区. 我犯了一个错误,遇到了一些奇怪的行为,我想了解正在发生的事情. 在我的python脚本中,我调用了某人编写的Java程序.他们使用Logger记录一些消息,而我正在将Java程序输出写入outfile.我也想将脚本的输出重定向到另一个文件b/c,我不想从Java程序中搜索大量的msgs. out
..
我正在尝试启动一个程序并读取它的标准输出.但是,该事件从未引发过. 我启动的进程正在运行,并且在控制台中使用相同的参数创建输出. 有什么想法,我在做什么错了? public void StartProcess(string Filename, string Arguments) { currentProcess = new Process();
..
我正在尝试编写一个C#程序,以捕获python程序中的标准输出.我的问题是所有输出都在程序执行之后而不是实际发生时发出.例如,对于此python程序: print "Hello" time.sleep(2) print "Hello" 我希望得到"Hello",两秒钟的间隔,然后再得到"Hello".实际结果是两秒钟的间隔,然后是"Hello","Hello". 如果我从命令行运行
..
我正在尝试更改与Mercurial命令行客户端通信的类库,而1.9客户端的新功能是能够启动服务器并通过标准输入/输出管道与之对话.这确实是有希望的,因为使用Mercurial命令行客户端的主要麻烦之一是,由于它是用Python编写的,因此即使只是询问其版本,该客户端也有一些开销. 但是,有一个问题.到目前为止,我已经通过读取标准输出/错误从命令行客户端检索了输出,并且当进程退出时,流将刷新,
..
我可以理解,有关此主题的问题很多,但没有一个能够真正解决我的问题.因此,在这里我介绍了我的代码,并希望在这里指出我的错误. 我有一个用C#编写的程序,该程序将调用python可执行文件/文件.第一个要求是我已经通过输入流将一个参数传递给python文件.我能做的.我现在面临的真正问题是,我必须查看我的python文件是否正在打印"Please enter arguments_x",我必须在C
..
我使用Python2.7,并且需要该功能: contextlib.redirect_stdout . 我的意思是,我想重定向特定功能(而不是整个程序)的输出. 问题是-只有Python3支持"context.redirect_stdout",而没有Python2.7. 有人知道我该如何在Python2.7中使用相同的功能或实现相同的想法? 预先感谢 解决方案 如果您不担心重用同
..
有可能吗,如果可以,怎么做?在Windows或Linux命令行上正常工作的>和>>在这种情况下不起作用. 解决方案 您可以从控制台以编程方式进行操作: import java.io.FileOutputStream import scala.Console Console.setOut(new FileOutputStream("")) 从现
..
我正在使用类似下面的代码开始一个过程: // some of the flags are not needed process.StartInfo.CreateNoWindow = true; process.StartInfo.ErrorDialog = false; process.StartInfo.UseShellExecute = false; process.StartInfo.
..
我的应用程序产生了一个小型的长时间运行的控制台应用程序,无法获得一些控制台标准输出的问题. 我的应用程序启动了控制台应用程序,并且控制台应用程序将在我的应用程序生命周期内(或直到被明确终止)一直保持监听端口状态. 启动控制台应用程序时,它将输出正在监听的端口号,我需要异步获取该端口号,并在应用程序中的其他位置使用它.问题是,我的事件处理程序从未获取输出数据.我敢肯定,我一定会忘记一些琐
..
我目前在我的应用程序中使用java.util.logger。它将其输出发送到System.err。我需要它继续这样做,但我还需要将该输出发送到其他东西。 有没有办法复制System.err流以便它可以发送到两个不同的来源吗? 解决方案 一如既往注意人们引用 java.util.logger 我倾向于至少建议查看另一个日志库,例如 logback 和 slf4j 。 此博客文章描
..