Sleeping Process

08/06/2006 - 18:27 por Vladimir | Informe spam
Buenas tengo un problema con una aplicacion de terceros que me genera
muchos sleeping process como puede hacer para hacer un kill a todos
estos que no sea uno por uno ya que la cantidad supera los mil
procesos.
 

Leer las respuestas

#1 qwalgrande
08/06/2006 - 19:46 | Informe spam
Hola.

Primero, advertirte que lo que te voy a comentar puede ser muy peligroso, ya
que podrías finalizar procesos que no son los que tú buscas. Yo, mejor que
filtrar por el estado, filtraría mejor por aplicación, base de datos,
usuario, etc, y además que no haya realizado ninguna consulta en la última
media hora o así.

La idea consiste en preparar una consulta a la tabla sysprocesses,
construyendo una sentencia kill. El resultado de la sentencia, lo ejecutas:

select 'kill ' + cast(spid as varchar(10))
from sysprocesses
where-- Aquí viene la parte más importante, filtra bien para no pasarte.
AppName = [tu aplicación] and
Loginame = [login que usa la aplicación] and
dbid = db_id([base de datos de la aplicación] and
last_batch < [hace más de 1 hora, por ejemplo]

Repito, ten cuidado, puede que te lleves un disgusto. Verifica también en
qué estado queda la aplicación cuando pierde la comunicación, a ver si va a
ser peor el remedio que la enfermedad y te llueven las incidencias.

Alberto López Grande (qwalgrande)


"Vladimir" escribió en el mensaje
news:
Buenas tengo un problema con una aplicacion de terceros que me genera
muchos sleeping process como puede hacer para hacer un kill a
todos estos que no sea uno por uno ya que la cantidad supera los mil
procesos.



Preguntas similares