使用Process.Kill()杀进程,一些由System用户启动的进程可能会报出“拒绝访问”的错误。
经查,可以使用以下命令杀掉进程。
System.Diagnostics.Process[] arrPro =
System.Diagnostics.Process.GetProcessesByName("winword"); //进程名称
if (arrPro.Length > 0)
{
System.Diagnostics.Process p = new System.Diagnostics.Process();
if (Convert.ToInt32((System.Environment.OSVersion.Version.ToString().Substring(0, 1))) >= 6)
{
//win7系统下没有ntsd命令,使用tskill
p.StartInfo.FileName = "tskill"; //使用ntsd命令
p.StartInfo.Arguments = arrPro[0].Id.ToString(); //服务进程的ID
}
else
{
p.StartInfo.FileName = "ntsd"; //使用ntsd命令
p.StartInfo.Arguments = " -c q -p " + arrPro[0].Id.ToString(); //服务进程的ID
}
p.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
p.Start();
p.WaitForExit();
p.Close();
}
原文: http://blog.csdn.net/ggw128/article/details/7185440