使用 process.waitforexit() 时线程被中止错误

2024-03-01

我下面的代码是从 while 循环调用的,因此它连续执行多次。有时,但并非总是如此,我最终会在 p.WaitforExit() 上收到线程被中止错误。有人对此有任何见解吗?我应该在 p.WaitForExit 之后调用 p.Close() 吗?

string outputFileName = Path.Combine(Path.GetDirectoryName(recordingFileName), Guid.NewGuid() + ".mpg");
        ProcessStartInfo startInfo = new ProcessStartInfo(ffmpegfileName);
        startInfo.Arguments = "-i \"" + recordingFileName + "\" -r 30 -sameq \"" + outputFileName + "\"";
        startInfo.WindowStyle = ProcessWindowStyle.Hidden;
        Process p = Process.Start(startInfo);
        p.WaitForExit();
        if (p.ExitCode != 0)
        {
            throw new Exception("exited with an exit code of " + p.ExitCode.ToString(CultureInfo.InvariantCulture) + ".");
        }
        return outputFileName;

Thread was being aborted.
mscorlib
 at System.Threading.WaitHandle.WaitOneNative(SafeWaitHandle waitHandle, UInt32 millisecondsTimeout, Boolean hasThreadAffinity, Boolean exitContext)
 at System.Threading.WaitHandle.WaitOne(Int64 timeout, Boolean exitContext)
 at System.Diagnostics.Process.WaitForExit(Int32 milliseconds)
 at System.Diagnostics.Process.WaitForExit()  

如果您从 ASP.NET 页面调用它,您看到的异常很可能是您在页面请求上遇到执行超时并且正在中止的结果。错误出现在 p.WaitforExit() 行上,因为这是您的 ASP.NET 页面在等待您开始返回的进程时所在的位置。您可以在 ASP.NET 应用程序的 Web 配置文件中更改默认执行超时(2.0 中为 110 秒)。

<httpRuntime  executionTimeout = "600" >

或仅通过该页面的页面中的代码:

  HttpContext.Current.Server.ScriptTimeout

http://msdn.microsoft.com/en-us/library/e1f13641.aspx http://msdn.microsoft.com/en-us/library/e1f13641.aspx

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 process.waitforexit() 时线程被中止错误 的相关文章

随机推荐

  • Selenium:遍历元素列表

    我正在使用 XPath CSS 和 Selenium 来定位网站上的元素 我想创建一种方法 在该方法中迭代定位器列表 XPath CSS 程序选择有效的一个 换句话说 它从定位器一开始 如果定位器存在 则返回 true 并存在循环 否则 它
  • winHTTP GET 请求 C++

    我就开门见山吧 这就是浏览器请求的样子 获取 index html HTTP 1 1 这就是 winHTTP 的作用 GET http site com index html http site com index htmlHTTP 1 1
  • Java用户类

    如何解析java用户类和JDBC用户类 问题是当我用完 put 时 sql 中有数据 例如 public User authenctication String eMail String password try con DriverMan
  • String 是关于 switch 的数字类型并且总是编译为 LookupSwitch 吗?

    以下代码返回是否给定String s等于任何其他硬编码字符串 该方法使用switch 这样做的声明 public class SwitchOnString public static boolean equalsAny String s s
  • 在 Laravel 中使用自动控制器路由是一个坏主意

    我从 CodeIgniter 转到 Laravel 那么 使用自动路由到所有控制器是一个坏主意吗 Route controller Controller detect 我应该使用它而不是在routes php 中创建路由吗 是的 这很糟糕
  • 应该如何使用 std::Optional?

    我正在阅读以下文档std experimental optional http en cppreference com w cpp utility optional我很清楚它的作用 但我不明白when我应该使用它或者我应该如何使用它 该网站
  • 如何在perl中将十六进制转换为字符字符串

    我需要将 xx 十六进制字符更改为字符 我正在尝试使用此代码 但它不起作用 usr bin perl w my cadena 40 61 62 print cadena n cadena s g print cad cadena n my
  • 使用 opencv 的 Android 文档扫描仪

    我正在尝试在我的应用程序中开发文档扫描仪 作为我想要实现的目标的一个示例 您可以看一下 Google 云端硬盘应用程序中内置的 Google 文档扫描仪 这允许 检测边缘 操纵透视 显示文档的自上而下视图 我一直在研究一些第三方 api 看
  • android:媒体记录器:启动失败:-38

    简介 如何检查录音是否已在其他应用程序的后台运行 详细信息 如果录音已在本机应用程序的后台运行 录音机 现在我已将录音作为我的应用程序中的功能之一 问题 当我尝试同时在我的应用程序中录制时 出现错误 E MediaRecorder star
  • 子类化 swift 通用可解码类型

    EDIT As 罗布 纳皮尔写道 https stackoverflow com a 49540809 9565342 Xcode 9 2 中存在该问题 在 Xcode 9 3 中 该问题不再相关 我的服务器 json 响应都打包在里面da
  • 检查类的实例是否存在,如果不存在则创建实例

    我想知道是否可以创建一个函数并向其传递一个类名 然后该函数检查当前类的实例是否存在 如果不存在 则创建该类的实例 此外 如果可能的话 将该变量设置为全局变量并要求将其返回 我意识到 回国可能是唯一的选择 function class nam
  • 通过使用 Docker-Compose 和 Spring Boot 运行的 IP 地址访问远程主机中的 Kafka

    我有一个 docker compose yml 在其中运行动物园管理员 Kafka 卡夫卡连接 and KafDrop 问题是 当我在本地运行时 我可以从我的春季启动应用程序来消费一些主题消息 我需要的是在 Linux 机器上运行相同的配置
  • Textview 不在自定义列表视图中滚动

    我尝试了很多在列表视图中水平滚动文本的方法 我希望我的文本视图之一像选框一样自动水平滚动 我能够设置水平滚动条并在触摸它时滚动 TVad setMovementMethod new ScrollingMovementMethod 这是我的
  • 我的 .Net 应用程序可以引用两个不同版本的 .net 框架库吗?

    假设我有两个项目 P4 和 P3 分别针对 net 4 0 和 3 5 每个项目还具有对 System Data 的引用 对于 P4 它将是 System Data v4 0 0 0 对于 P3 它将是 System Data v2 0 0
  • 正则表达式从字符串末尾获取数字

    我有一个类似 stringNumber 的 id 变量 如下所示 example12 我需要一些 javascript 正则表达式从字符串中提取 12 example 对于所有 id 都是常量 只是数字会有所不同 该正则表达式匹配字符串末尾
  • NHibernate HiLo - 每个实体的新列和 HiLo 捕获

    我目前正在为我的课程使用 hilo id 生成器 但只是使用了最少的设置 例如
  • java是纯粹的面向对象吗?

    我们说java不是纯粹面向对象的 因为原始数据类型不是对象 但是在下面的代码中 对象如何保存原始数据类型 public class Test public Object meth Object obj System out println
  • HTML 生成的带有页眉、页脚和水印的 Microsoft Word 文档

    我正在寻找由 HTML 生成的 Microsoft Word 文档的示例 它应包含页眉 页脚和水印 这是一些示例 希望它可以帮助其他尝试使用 HTML 生成 ms word doc 文件的人
  • 删除一组中只有一个观察的条目

    在这里 我想删除按日期对给定城市只有一个条目的条目 例如 我想删除纽约和旧金山条目 因为它们在 4 11 和 4 12 上只有 1 个观察值 day City age 4 10 Miami 30 4 10 Miami 23 4 11 New
  • 使用 process.waitforexit() 时线程被中止错误

    我下面的代码是从 while 循环调用的 因此它连续执行多次 有时 但并非总是如此 我最终会在 p WaitforExit 上收到线程被中止错误 有人对此有任何见解吗 我应该在 p WaitForExit 之后调用 p Close 吗 st