【发布时间】:2012-07-13 07:51:40
【问题描述】:
可能重复:
How do you kill a process for a particular user in .NET (C#)?
在我的更新程序应用程序中,我需要在更新之前终止主程序。
我正在使用代码来终止更新程序应用程序中的进程,但它会终止具有该名称的所有进程,因此它会终止同一台机器上其他用户的进程。有没有办法只为当前用户杀死进程?
这是我目前的代码:
foreach (System.Diagnostics.Process myProc in System.Diagnostics.Process.GetProcesses())
{
if (myProc.ProcessName == "ProgramName")
{
myProc.Kill();
}
}
【问题讨论】:
-
别介意你应该能够比杀死这样的进程做得更好:如果进程仍在为其他用户运行,你将如何更新二进制文件?
-
看起来有人在 [这里] (stackoverflow.com/questions/426573/…) 提出了同样的问题
-
使用
Process.GetProcessesByName("ProgramName")而不是爬取所有系统进程。
标签: c#