2014-04-04 21 views
0

此示例代碼是過度簡化但表明問題的性質。如何關閉System.Diagnostics.Process,其中沒有涉及過程的變量

System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
proc.Start(); 
proc == null; 

有什麼方法可以重新獲得對進程的引用,或者我只能從任務管理器關閉嗎?

+2

你對這個過程瞭解多少? –

+0

有一些構造函數可以從那些正在運行的程序中爲你找到一個進程。 –

+0

哈姆雷特Hakobyan,我用它在遠程機器上啓動一個罐子。我沒有權限查看服務器上的進程並殺死它。 – javaNinja

回答

1

您可以撥打Process.GetProcesses以獲取所有過程的列表。然後在那個列表中搜索你想要的。或者,如果您知道流程的確切名稱,則可致電GetProcessesByName。您可以撥打Kill

如果您在評論中提到您沒有權限查看這些流程,那麼您的運氣非常不好。創建它時,最好保留Process參考。如果您沒有創建該過程,那麼即使您確實有有權查找它,您可能也沒有權限將其終止。