6

我有一个在服务器上运行的 Windows 窗体应用程序。现在我需要同时运行同一个应用程序的多个实例。每个实例将连接到不同的数据库。在应用程序启动期间,我更改了标题,以便我可以识别正在连接的数据库,但我也想在任务管理器中更改名称。这是因为我有另一个应用程序充当主管,根据需要终止和启动进程。我必须找到一种方法来清楚地识别要杀死的进程。

4

2 回答 2

1

让您的主管创建可执行文件的临时副本,包括您的识别信息,然后启动它......这样任务管理器看起来像

My process - database 1.exe
My process - database 2.exe
et cetera
于 2013-02-05T19:20:15.240 回答
0

如果 Supervisor 程序是启动进程的程序,那么您将完全控制这些子进程。您可以根据需要轻松杀死/启动它们。根据需要使用进程

using System.Diagnostics;

Process p1 = new Process();
Process p2 = new Process();
Process p3 = new Process();

p1.StartInfo.FileName = "notepad.exe";
p2.StartInfo.FileName = "notepad.exe";
p3.StartInfo.FileName = "notepad.exe";

//start the procs
p1.Start();
p2.Start();
p3.Start();

//kill the procs
p1.Kill();
p2.Kill();
p3.Kill();

如果您希望某些超级用户有权终止该进程,为什么不让他们使用 GUI 来完成呢?如果没有 GUI,他们是如何运行程序的?它是通过cmd启动的吗?

从我下面的评论中复制:

如果用户希望能够专门从任务管理器中终止进程,他们可以使用应用程序选项卡选择正确的进程(您需要给它一个唯一的窗口标题),然后他们可以右键单击>转到进程并从那里杀死。

于 2013-02-05T15:58:26.087 回答