2013-02-05 233 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 
相關問題