Terminar un proceso usando Kill

07/06/2004 - 17:04 por Alexandra | Informe spam
Hola, cómo están?
estoy utilizando la sentencia Kill para forzar que termine
una aplicación, pero cuando lo utilizo se inestabiliza el
sistema y se cierran casi todas las aplicaciones que estoy
corriendo!!!
Alguno podría ayudarme?

Process otherProcess = new Process();
otherProcess = Process.GetProcessById(runningProcesses
[i].Id);
if (otherProcess.CloseMainWindow()==false)
{
otherProcess.Kill();
}
otherProcess.Close();

Saludos.
 

Leer las respuestas

#1 Javier Ros
08/06/2004 - 14:46 | Informe spam
hmn!, codigo raro donde los haya.

En principio asignas a otherProcess un nuevo Process,
acto seguido machacas lo que acabas de hacer con GetProcessById,
luego usas runningProcesses, que no especificas que es, y tambien usas
una variable "i" que supongo que es de un bucle. Deduzco que tu codigo real
es:

runningProcesses = AlgoQueNoSeLoQueEs();
for (int i = 0; i < runningProcesses.Count; i++)
{
Process otherProcess = new Process();
otherProcess = Process.GetProcessById(runningProcesses[i].Id);
if (otherProcess.CloseMainWindow()==false)
{
otherProcess.Kill();
}
otherProcess.Close();
}

Con lo cual te estas cargando todos lo procesos cargados en
runningProcesses,
que si son todos los que estan rulando en el sistema pues ... normal que se
te vaya
todo, comprueba el nombre del proceso para ver si lo quieres matar o no.
Quedaria así:

runningProcesses = AlgoQueNoSeLoQueEs();
for (int i = 0; i < runningProcesses.Count; i++)
{
Process otherProcess = new Process();
otherProcess = Process.GetProcessById(runningProcesses[i].Id);
if (otherProcess.ProcessName == "NOMBREPROCESOACERRAR")
if (otherProcess.CloseMainWindow()==false)
{
otherProcess.Kill();
}
otherProcess.Close();
}

Suerte.

Javier Ros Moreno
Aguas de Murcia.


"Alexandra" escribió en el mensaje
news:18e2b01c44ca0$b6e18d90$
Hola, cómo están?
estoy utilizando la sentencia Kill para forzar que termine
una aplicación, pero cuando lo utilizo se inestabiliza el
sistema y se cierran casi todas las aplicaciones que estoy
corriendo!!!
Alguno podría ayudarme?

Process otherProcess = new Process();
otherProcess = Process.GetProcessById(runningProcesses
[i].Id);
if (otherProcess.CloseMainWindow()==false)
{
otherProcess.Kill();
}
otherProcess.Close();

Saludos.

Preguntas similares