Tag: pid

获取在C#中创建的进程的pid

让我们说我正在尝试使用以下代码创建一个新进程: System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo.WorkingDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase); p.StartInfo.FileName = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase) + “\\AwesomeFile.exe”; p.StartInfo.Arguments = “parameter1 parameter2”; p.StartInfo.CreateNoWindow = true; p.Start(); 在下一行中,我将尝试使用以下行获取该进程的pid: MessageBox.Show(p.Id); 这一行给了我“没有进程与此对象相关联”。 错误。 有没有想过为什么会出现这种错误?

查找Selenium WebDriver启动的浏览器进程的PID

在C#中我启动了一个浏览器进行测试,我想得到PID,这样在我的winforms应用程序中我可以杀死所有剩余的ghost进程 driver = new FirefoxDriver(); 我怎样才能获得PID?

从MS-Word ApplicationClass获取PID?

考虑以下代码: using Microsoft.Office.Interop.Word; ApplicationClass _application = new ApplicationClass(); 我可以从_application启动的Winword.exe进程中获取PID吗? 我需要PID因为文件损坏,我只是不能退出ApplicationClass,即使使用这段代码: _application.Quit(ref saveFile, ref missing, ref missing); System.Runtime.InteropServices.Marshal.ReleaseComObject(_application); GC.Collect(); GC.WaitForPendingFinalizers(); 我无法搜索winword.exe进程并将其杀死,因为我会有几个,而且我不知道要杀哪个。 如果我可以为每个ApplicationClass获取一个PID,我可以杀死正确的winword.exe进程,这会给我带来麻烦。

获取进程的PID由Process.start()启动

我正在使用此代码启动可执行文件: Process proc = new Process(); proc.StartInfo.FileName = executablePath; proc.Start(); proc.WaitForInputIdle(); 在这个调用proc.Id它给了我一些整数,这不是真正的进程ID。 在任务管理器中,此进程还有另一个ID,我也使用MS UI Automation访问此应用程序,该应用程序也返回与任务管理器中相同的ID。 所以我的问题是如何获得启动过程的真实进程ID? UPDATE 我发现在Windows 7上它工作正常并返回正确的ID,但不是在Windows XP上。 可能是什么原因? 情景 该应用程序的场景如下。 我有一个正在运行的嵌入式HTTP服务器,它不是由我实现的( 这里是源代码)。 客户端连接到Web服务器并发送运行程序的请求。 在我的服务器的请求处理程序中,我只是使用Process.start()来启动所请求的应用程序。 作为Web服务器,程序为连接到它的每个客户端会话创建线程(我假设如此,因为我没有写它)。 这可以以某种方式帮助识别问题,因为它只存在于Windows XP X86 Service Pack 3上吗?

如何获取应用程序的父进程的PID

我的winform应用程序由另一个应用程序(父代)启动,我需要确定应用程序的pid,它使用c#启动我的应用程序。