相关疑难解决方法(0)

找到我自己的.NET进程的所有子进程/找出给定进程是否是我自己的子进程?

我有一个.NET类库,它会旋转一个二级进程,该进程一直运行直到我处理掉该对象.

由于程序中存在一些遗留在内存中的问题,我决定添加一个集成测试,以确保如果我让对象失效到GC/Finalization,那么该过程就会被缩减.

但是,由于该进程是Mercurial命令行客户端,并且我的构建服务器已经将Mercurial作为其自身操作的一部分运行,因此我设想Mercurial在该测试开始时已经在运行,或者它已经启动,并且仍在运行在测试完成时运行,与构建服务器相关,而不是我的测试.

所以,我想确保我找到(或不是)我发现的Mercurial客户端,而不仅仅是当前正在运行的任何客户端.

所以问题是:

  • 如何查看我正在查看的Mercurial客户端是否由我的流程启动?

通过"查看",我正在考虑使用Process.GetProcesses方法,但这不是必需的.

如果一个不同的问题更好,"如何找到我自己的过程的所有子过程",即.更容易回答,一个人绰绰有余.

我找到了这个页面:如何知道进程的父进程ID?,但似乎我必须给它进程名称.如果我只是给它"hg",对于我正在寻找的情况,这个问题是不是太模糊了?

.net process child-process

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

.net ×1

child-process ×1

process ×1