返回进程ID

时间:2009-03-12 08:51:56

标签: windows process pid

我有这个问题需要解决。让我们认为我们有这种情况。我们有一个运行notepad.exe的实例。我运行另一个notepad.exe。现在我要杀死后者。我该怎么办?

如果我能够知道最后一个notepad.exe的pid,那么我可以杀死它。但是如何获得最后打开的程序的PID?

另一种方法是为每个应用程序提供唯一的图像名称。根据我的学习,似乎不可能因为图像名称被硬编码到二进制文件中。

所有想法?

P.S。正如你已经注意到这一切都在windows中。

2 个答案:

答案 0 :(得分:1)

如果这些是其他人的进程(即你没有自己启动它们),那么Windows会跟踪when the process was started(或其“creation time”),所以我希望你能找到哪一个最后使用该信息启动了流程。

答案 1 :(得分:0)

那么,你是如何启动这个过程的?例如,如果从C#启动它,静态Process.Start方法将返回Process实例,该实例具有IdKill()方法。架构/语言之间的机制会有所不同......

如果您没有通过代码执行此操作,则可能是偏离主题的;-p