1

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

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

另一种方法是给每个应用程序一个唯一的图像名称。据我所知,这似乎是不可能的,因为图像名称是硬编码到二进制文件中的。

那么有什么想法吗?

PS 正如您已经注意到的,这一切都在 Windows 中。

4

2 回答 2

1

如果这些是其他人的进程(即您没有自己启动它们),那么 Windows 会跟踪该进程的启动时间(或其“创建时间”),所以我希望您可以使用该信息找到最后启动的进程.

于 2009-03-12T08:56:39.630 回答
0

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

如果你不是通过代码来做的,它可能是题外话;-p

于 2009-03-12T08:56:29.273 回答