使用System.Diagnostics.Process和Process.Start的提示/技巧/陷阱

时间:2010-03-30 23:37:25

标签: .net process

我已经使用Process.Start来shell并调用7zip来存档东西 我也用它来调用ffmpeg来压缩视频文件。

那是一段时间以前..但我记得如果你没有读取标准输出/错误,有一些关于pcocess停滞的问题。我不记得有关它的一切。有没有人有使用System.Diagnostics.Process的经验,以启动一个长时间运行的进程并等待它完成?

由于

2 个答案:

答案 0 :(得分:1)

如果不重定向输出,则不应该担心。

答案 1 :(得分:0)

如果您像我一样重定向,请使用以下内容来避免死锁。请参阅http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput.aspx处的ProcessStartInfo.RedirectStandardOutput的doumentation。我最长的会话是用ExifTool扫描我的硬盘驱动器四十分钟。

        _process.Start()

        Dim sXmlOutput As String = _process.StandardOutput.ReadToEnd
        Dim sErrOutput As String = _process.StandardError.ReadToEnd

        _process.WaitForExit()
相关问题