如何在 C# 中获取给定服务的子进程列表?

2024-02-10

我有一个创建许多子进程的服务。使用 c# 我需要确定当前正在运行的这些子进程的数量。

例如,我有一个名为“TheService”的服务正在运行。这会产生 5 个子进程,全部称为“process.exe”。是否可以确定服务下运行的子进程的数量?本质上,我需要知道仅给出服务/服务进程名称的“process.exe”实例的数量。


您需要使用 WMI,Win32_进程 http://msdn.microsoft.com/en-us/library/aa394372(VS.85).aspx类包括父进程ID。因此,WQL 查询(请参阅 .NET 下 WMI 的 System.Management 命名空间)如下所示:



SELECT * FROM Win32_Process Where ParentProcessId = n
  

替换n与服务的进程 ID。

编辑示例代码(基于代码阿尔森扎赫雷 https://stackoverflow.com/users/847200/arsen-zahray):

static List<Process> GetChildProcesses(int parentId) {
  var query = "Select * From Win32_Process Where ParentProcessId = "
          + parentId;
  ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
  ManagementObjectCollection processList = searcher.Get();

  var result = processList.Cast<ManagementObject>().Select(p =>
    Process.GetProcessById(Convert.ToInt32(p.GetPropertyValue("ProcessId")));
  ).ToList();

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

如何在 C# 中获取给定服务的子进程列表? 的相关文章

  • 以编程方式读取 SQL Server 查询计划建议的 SQL 特定执行的索引?

    如果我在 SSMS 中运行此命令 set showplan xml on GO exec some procedure arg1 arg2 arg3 GO set showplan xml off GO 我获得查询执行中涉及的完整调用堆栈的
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • 在c#中执行Redis控制台命令

    我需要从 Redis 控制台获取 客户端列表 输出以在我的 C 应用程序中使用 有没有办法使用 ConnectionMultiplexer 执行该命令 或者是否有内置方法可以查找该信息 CLIENT LIST是 服务器 命令 而不是 数据库
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • 查找进程的完整路径

    我已经编写了 C 控制台应用程序 当我启动应用程序时 不使用cmd 我可以看到它列在任务管理器的进程列表中 现在我需要编写另一个应用程序 在其中我需要查找以前的应用程序是否正在运行 我知道应用程序名称和路径 所以我已将管理对象搜索器查询写入
  • 如何使用 Castle Windsor 将对象注入到 WCF IErrorHandler 实现中?

    我正在使用 WCF 开发一组服务 该应用程序正在使用 Castle Windsor 进行依赖注入 我添加了一个IErrorHandler通过属性添加到服务的实现 到目前为止一切正常 这IErrorHandler对象 一个名为FaultHan
  • 为什么在 WebApi 上下文中在 using 块中使用 HttpClient 是错误的?

    那么 问题是为什么在 using 块中使用 HttpClient 是错误的 但在 WebApi 上下文中呢 我一直在读这篇文章不要阻止异步代码 https blog stephencleary com 2012 07 dont block
  • unordered_map 中字符串的 C++ 哈希函数

    看起来 C 标准库中没有字符串的哈希函数 这是真的 在任何 c 编译器上使用字符串作为 unordered map 中的键的工作示例是什么 C STL提供模板专业化 http en cppreference com w cpp string
  • 启动时的 Excel 加载项

    我正在使用 Visual C 创建 Microsoft Excel 的加载项 当我第一次创建解决方案时 它包含一个名为 ThisAddIn Startup 的函数 我在这个函数中添加了以下代码 private void ThisAddIn
  • 通过 PowerShell 运行 .cmd 文件

    我正在尝试使用 PowerShell 在远程服务器上运行 cmd 文件 在我的 ps1 脚本中我尝试过 C MyDirectory MyCommand cmd 它会导致此错误 C MyDirectory MyCommand cmd is n
  • 为什么从字典中获取时会得到 Action<> 的克隆?

    我有以下字典 private Dictionary
  • 高效列出目录中的所有子目录

    请参阅迄今为止所采取的建议的编辑 我正在尝试使用 WinAPI 和 C 列出给定目录中的所有目录 文件夹 现在我的算法又慢又低效 使用 FindFirstFileEx 打开我正在搜索的文件夹 然后我查看目录中的每个文件 使用 FindNex
  • 用于推送通知的设备令牌

    我正在实施推送通知服务 我需要创建一个数据库来存储 4 个移动平台的所有设备令牌 我想根据他们的平台 iOS Android BlackBerry WP7 来组织它们 但是有什么方法可以区分平台 这样如果我只想向 Android 用户发送消
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • 将数组作为参数传递

    如果我们修改作为方法内参数传递的数组的内容 则修改是在参数的副本而不是原始参数上完成的 因此结果不可见 当我们调用具有引用类型参数的方法时 会发生什么过程 这是我想问的代码示例 using System namespace Value Re
  • 在 Windows Phone silverlight 8.1 上接收 WNS 推送通知

    我有 Windows Phone 8 1 silverlight 应用程序 我想使用新框架 WNS 接收通知 我在 package appxmanifest 中有
  • 堆栈是向上增长还是向下增长?

    我在 C 中有这段代码 int q 10 int s 5 int a 3 printf Address of a d n int a printf Address of a 1 d n int a 1 printf Address of a
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke

随机推荐

  • 列出 CRAN 上可用的所有软件包以进行控制台[重复]

    这个问题在这里已经有答案了 想要获取 Windows 控制台上 CRAN 上可用的所有软件包的列表 我知道这一定很简单 因为在 Windows GUI 上有一个手动选项可以单击安装 此时会弹出另一个菜单界面 其中包含 CRAN 上可用的所有
  • Linux shell:检测 CSV 日志文件的状态更改

    这是我自动生成的日志文件 连续一分钟检查我的互联网线路 cat log csv 2018 04 27 23 37 OK 2018 04 27 23 38 OK 2018 04 27 23 39 OK 2018 04 27 23 40 ERR
  • 将上传的文件保存到磁盘在 Flask 中不起作用[重复]

    这个问题在这里已经有答案了 我想将任何上传的图像存储到名为 logo png 的 static customlogos 文件夹中 无论其实际名称是什么 我有一个基本的 Flask 设置 其中包含典型的静态和模板文件夹 为了简单起见 我在下面
  • 如何知道是否有 git rebase 正在进行?

    当我开始一个git rebase i 我可以发出这样的命令git rebase continue or git rebase abort 这些命令仅在变基正在进行时才有效 我如何知道是否正在进行变基 我非常感谢有关 rebase 内部如何工
  • 如何在两个片段之间切换,而不需要每次都重新创建片段?

    我正在开发一个 Android 应用程序 它使用导航抽屉在两个片段之间切换 然而 每次切换时 片段都会完全重新创建 这是我主要活动的代码 The click listener for ListView in the navigation d
  • 如何在 Visual Studio Community 2013 中创建 ASP.NET MVC 5 Web 应用程序?

    我尝试在全新安装 Visual Studio Community 2013 后启动 MVC 5 项目 但是当我转到 新建项目 gt 模板 gt Visual C gt Web gt Version2012 我在中间窗格中看到的只是 ASP
  • 传递给模板函数的两个 lambda 使得参数的类型推导不明确——为什么?

    我有一个模板 如果我向它传递一个 lambda 它就可以工作 但是在一个将两个 lambda 映射到同一模板化类型的相关模板中 它无法推断出该类型 并且 MSVC Express 2013 抱怨模板参数不明确 首先要明确的是 这里没有发生重
  • 找到坐标 x 和 y 列表的优化位置

    我是编程新手 尤其是Python新手 但我正在努力学习它 到目前为止我发现它非常令人着迷 我有一个包含 30 个固定坐标 x 和 y 的列表 x np array 13 10 12 13 11 12 11 13 12 13 14 15 15
  • UIButton 状态已选择

    我看过很多有关更改所选按钮图像的信息 但作为新人 我在实现更简单的版本时遇到了一些麻烦 当按下按钮时 它会变暗 我希望它在被选择后保持这种状态 所以有几个问题 我是否为按钮创建 IBOutlet 然后使用 IBAction 来更改状态 例如
  • 从 pandas dropna 中排除特定列

    我有一个数据框 我想删除除特定列之外的所有列中的值 NA 在本例中为 V1 df V1 V2 V3 V4 A 10 20 NA B NA NA NA C 5 20 3 D 15 20 4 E NA 10 5 output V1 V2 V3
  • Node dotenv 不适用于 pm2

    我有一个应用程序 其中本地 没有 pm2 所有环境变量 env使用文件工作得很好dotenv 但在我使用的服务器上pm2要运行应用程序 环境变量仍然存在undefined 我用来在服务器上运行应用程序的 pm2 命令是 pm2 start
  • 无法激活机架(〜> 1.4.0,运行时)已激活机架1.5.0

    我已经寻找这个问题的答案一天多了 并彻底搜索了 StackOverflow 我了解正在发生的冲突 我应该卸载不需要的 Rack 版本 但事情是这样的 我正在Koding上开发 http koding com http koding com
  • 对于日期序列化:从 JAXB2 到 jackson-dataformat-xml 的 @XmlJavaTypeAdapter 的等效注释是什么?

    我有一个 Spring Web 应用程序4 3 6版本 在某种程度上 它可以与 XML 和 JSON 一起使用 对于 Json 我使用 Jackson 对于 XML 我曾经使用过JAXB2 但不再是因为它不支持通用集合 通用集合表示如下 p
  • 是否有“max”函数和分组的替代(聚合操作的性能优化)?

    我有一个很大的查询 它也返回很大的响应 查询如下所示 SELECT group subgroup max last update FROM SELECT a as group a1 as subgroup d1 as last update
  • 如何在覆盖它的网页上恢复console.log?

    Twitter 的网站做了类似的事情 console log function 将浏览器的内置console log方法进入无操作状态 有办法恢复原来的功能吗 除非他们也在原型中删除了它 否则得到log方法使用getPrototypeOf
  • TFS-SDK:合并不起作用

    作为更大实现的一部分 我尝试使用 TFS SDK 实现源代码控制分支 文件夹的合并操作 我正在针对 TFS2010 安装进行工作 我所拥有的是这样的 using System using Microsoft TeamFoundation C
  • 信息窗口不是中心位置 Android Google 地图 v2

    我在 Google 地图 v2 上的信息窗口上遇到问题 信息窗口位于标记左侧 此问题仅在 Samsung Galaxy S4 上重现 我安装了Google Api Demo 重现了 这是错误吗 如何修复它 我已在地图 v2 跟踪器上提交了此
  • dplyr 和多重线性模型

    我正在尝试使用运行大量回归dplyr对于个人 ID cusip 和年份 fyear 但我不知道如何利用summary功能 我需要运行模型 获取系数 将它们加在一起 然后mutate结果到另一个变量beta 这是一些代码 虽然不起作用 但可以
  • XDocument 文本节点换行

    我正在尝试使用以下命令将换行符插入文本节点XText来自 Linq XML 命名空间 我有一个包含换行符的字符串 但是我需要弄清楚如何将它们转换为实体字符 即 10 而不是仅仅让它们作为新行出现在 XML 中 XElement elemen
  • 如何在 C# 中获取给定服务的子进程列表?

    我有一个创建许多子进程的服务 使用 c 我需要确定当前正在运行的这些子进程的数量 例如 我有一个名为 TheService 的服务正在运行 这会产生 5 个子进程 全部称为 process exe 是否可以确定服务下运行的子进程的数量 本质