2013-02-05 377 views
6

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

+0

创建符号链接。 – leppie

+7

您的Supervisor应用程序是否可以启动流程,以便从一开始就拥有PID?还是它需要能够分开运行? – Gray

+0

@degiantor:我不认为这是同一个问题。他希望有多个名称不同的实例,而不仅仅是一个新名称。 – Gray

回答

0

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

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启动的吗?

从我下面的评论复制:

如果用户希望能够特异性地杀伤从任务管理器的过程中,他们可以使用的应用程序选项卡,选择正确的过程(你需要给它一个独特的窗口标题),然后他们可以右键点击>去处理并从那里杀死。

+0

有一个带有“停止”按钮的图形用户界面,只是这些“超级用户”觉得通过任务管理器杀死更“专业”。 – WaveMax

+0

哈哈......好的......也许在标题窗口中添加一个唯一的标识符。例如,“程序DB-ABC”,然后他们可以从该窗口的应用程序选项卡中单击“转到处理”。您也可以在某处显示当前的PID,并且可以使用命令提示符终止进程。例如:TASKKILL/PID 1230 – Gray

1

有你的主管创建可执行的临时副本,包括您的身份信息,并启动......使任务管理器看起来像

My process - database 1.exe 
My process - database 2.exe 
et cetera 
相关问题