C# 进程在处置时挂起

2023-12-25

我正在从 C# 调用命令行进程,该进程从某个远程服务器进行更新。当它可以找到远程服务器并从中获取数据时,工作正常。如果未连接到网络也可以正常工作。

但是,当远程服务器无法访问时,外部进程将无限期地尝试获取数据,并且没有命令行选项来指定超时。所以我在尝试了 15 秒后对进程添加了强制终止。

using (var process = new Process {...})
{
    process.Start();
    if (!process.WaitForExit(15 * 1000))
    {
        process.Kill();
    }
}

我可以看到进程被终止process.Kill()被调用,但退出时挂起using范围(即处理进程时)。

这有什么问题吗?我是否遗漏了一些东西来确保这个过程是properly killed?

Thanks!

EDIT:

进程开始信息是

FileName = command,
Arguments = arguments,
WorkingDirectory = workDir,
CreateNoWindow = true,
UseShellExecute = false

None

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

C# 进程在处置时挂起 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 删除文件的最后 10 个字符

    我想删除文件的最后 10 个字符 说一个字符串 hello i am a c learner 是文件内的数据 我只是希望该文件是 hello i am a 文件的最后 10 个字符 即字符串 c learner 应在文件内消除 解决方案 将
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 对类 static constexpr 结构的未定义引用,g++ 与 clang

    这是我的代码 a cp p struct int2 int x y struct Foo static constexpr int bar1 1 static constexpr int2 bar2 1 2 int foo1 return
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现

随机推荐

  • 在类路径上添加属性文件

    我正在构建一个基于 Spring Boot 的 Spring 独立应用程序 我希望此应用程序从单独目录中的 jar 文件外部的属性文件中读取其属性 构建的应用程序的结构如下所示 testApplication test 1 0 SNAPSH
  • 如何以自然的语法实现线程安全容器?

    Preface 如果按原样使用 下面的代码会导致未定义的行为 vector
  • 如何在 Angular2 应用程序中禁用 HTML5 表单验证?

    我有一个表单 其中包含所需的电子邮件类型的输入 我想在该输入字段上进行自己的自定义验证 以便能够以不同的语言显示错误消息 但是 目前输入字段是通过 HTML5 验证进行评估的 代码如下所示
  • 模块中未找到 Android Facet

    我刚刚从 Eclipse 切换到 Android Studio 我正在尝试在设置 gradle 文件后运行我的应用程序 该项目构建没有错误 但是我无法运行我的应用程序 因为没有找到 android 方面 当我进入项目结构时 没有任何方面 并
  • JPA 2.1 中条件获取连接中的导航方法

    在 JPA 标准中使用 fetch join 时 看不到导航方法 下面给出一个例子 Root
  • UIImagePickerController 覆盖自动旋转

    我正在使用 UIImagePicker 访问 iPhone 应用程序上的相机 我希望能够根据 iPhone 的方向为图像选择器提供两种不同的叠加层 是否有可能做到这一点 似乎如果我将以下方法放在拥有 UIImagePickerControl
  • GitHub 上的审阅者和受让人之间有什么区别?

    当我创建拉取请求时 我可以看到两个选项审稿人 and 受让人 它们之间有什么区别 我认为这是来自 github 最新版本的任何一个 审阅者和受让人是组织谁正在处理拉取请求和问题的工具 他们不授予任何额外的权限 审核者是您特别要求审核您的拉取
  • 在Python中创建包含整数的类列表对象的最快方法

    在Python中制作包含整数 浮点 非常简单的数据类型 的类似列表的对象的最快方法是什么 类似列表 是什么意思 这意味着我想要一个支持列表的两个 非常 基本操作的对象 获取某个索引中的对象 1 并更改其值 2 在发布此内容之前我遇到了哪些帖
  • 循环内的 Promise

    在下面的代码中 我有一个无限循环 我不知道为什么会发生 我最好的猜测是因为里面的函数是async循环不会等待它 因此循环永远不会停止 解决这个问题的最佳方法是什么 var generateToken function userId retu
  • Spring/Hibernate 添加一个在关闭 EntityManagerFactory 之前运行的关闭钩子

    当我关闭服务器时 我有一些工作正在填充下载和填充数据 我希望这些工作可以优雅地完成 我尝试添加 Runtime getRuntime addShutDownHook 但这似乎在 Entitymanager 已经关闭之后运行 因为在运行之前异
  • 计算某个日期之前一个月的行数

    我想在我的数据框中添加一列 该列将计算每个日期之前一个月每个公园的行数 我的数据框如下所示 gt Reaction per park per day 3 Park Date Type 1 2 Coy season AC code Year
  • Paging 3 库使用 LoadType.APPEND 递归调用加载方法

    我正在尝试显示来自图标查找器 API https developer iconfinder com reference getting started with your api 1 好像是ItemKeyedDataSource对我来说 我
  • MVC3 - Ajax 操作链接 - OnBegin、onComplete

    使用 MVC3 C 和 Razor 视图引擎 我有一个带有 Ajax 操作链接的表单 在选项中 我尝试指定 OnBegin 和 OnComplete javascript 函数调用 在这个问题中 我取出了功能的核心部分 并简单地添加了警报
  • 如何让 Maven 将 jar 包含在我的 Eclipse 引用库中?

    我正在尝试采用现有的 Eclipse 项目并添加 pom xml 以便我可以使用 Maven 进行自动构建 在项目中 我的引用库中有一个 jar 文件 该文件不在 Maven 存储库中 我需要做什么才能让 Maven 识别 jar 文件 我
  • 使用 ocaml 图形保存图像

    我想将ocaml图形生成的图片保存在文件中 png或jpeg 谢谢 我假设你正在谈论Graphicsocaml 中的模块 您应该注意到Graphics模块不适用于创建和处理图像 你当然可以打电话Graphics dump image如果你已
  • Postgres pg_try_advisory_lock 阻止所有记录

    我在用着pg try advisory lock 在 Postgres 中 接下来的两个查询锁定了多个记录table1 1 SELECT a id FROM table1 a JOIN table2 b ON a table1 id b i
  • 什么时候不应该使用 CSS 精灵?

    我想知道什么时候不应该使用 CSS 精灵 CSS 精灵效果很好 但是在某些情况下它们会带来很多麻烦吗 和所有事物一样 它有有用的时候 也有有害的时候 许多开发人员喜欢使用 CSS sprite 因为它可以节省请求时间 浏览器发出一个请求 下
  • 在 64 位应用程序中使用为 32 位编写的汇编代码

    我可以使用以下链接中为 x86 64 计算机上的 64 位程序为 32 位 x86 编写的 Serpent 加密的汇编例程吗 也就是说 无需为其启动单独的 32 位进程 如果没有 是否有人有一个可以在 32 位和 64 位上运行的 Serp
  • 如何查找路线的所有端点(Apache Camel,Java)

    我在 Camel 上下文中有几条路线和许多端点 因此需要获取一条路由创建的所有端点 CamelContext context new DefaultCamelContext RouteBuilder route1 new RouteBuil
  • C# 进程在处置时挂起

    我正在从 C 调用命令行进程 该进程从某个远程服务器进行更新 当它可以找到远程服务器并从中获取数据时 工作正常 如果未连接到网络也可以正常工作 但是 当远程服务器无法访问时 外部进程将无限期地尝试获取数据 并且没有命令行选项来指定超时 所以