(暮白兄、孟子等高手进)我不知道这是不是线程问题给点提示
public bool Kill( string exeName )
{
string isrunning = "0 ";
Process[] myProcesses = Process.GetProcesses(Request.UserHostAddress);
foreach(Process myProcess in myProcesses)
{
if ( myProcess.ProcessName == exeName )
{
try
{
//myProcess.WaitForExit(120);
myProcess.Kill();
isrunning = "1 ";
}
catch
{
isrunning = "0 ";
}
break;
}
}
if ( isrunning == "1 " )
{
return true;
}
else
{
return false;
}
}
------解决方案--------------------是否能成功关闭一个线程取决于当前用户对该线程的控制权限。这份大致两种:1.没有控制权,比如普通用户想要关系统进程(asp.net用户的权限如果没有设置过是在安装.net的时候系统设置的,属于受限制的超级用户把)2.进程被其他用户占有。无法相应就无法关闭,除非你能在线程管理员ProcessManager那样的系统权限去强制杀。