Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-03-2008
kasper kasper is offline
Miembro
 
Registrado: feb 2008
Posts: 20
Poder: 0
kasper Va por buen camino
Obtener proceso bloqueado

Buenas llevo toda la mañana entera buscando información y no he encontrado nada. A ver si me podéis echar un cable.

Me gustaría poder saber cuando un proceso está bloqueado, o sea, cuando pone (no disponible), para poder matarlo e iniciarlo de nuevo.

Creo que se debería saber el estado del proceso, pero la verdad, no se como obtenerlo.

Muchas grácias de antemano, a ver si me ayudáis.
Responder Con Cita
  #2  
Antiguo 11-03-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
El estado "bloqueado" o "no disponible", no es un estado propio de un programa. El administrador de tareas marca un proceso de este modo cuando no responde a los mensajes que le manda en un tiempo razonable, así, por ejemplo, puede marcar como "no disponible" un proceso que este ejecutando alguna acción que le lleve mucho tiempo pero que no este bloqueado realmente.

Si el sistema, pudiera distinguir con un 100% de fiabilidad cuando un programa "se cuelga", simplemente lo mataría no lo marcaría y esperaría para que tu tomases la decisión.

¿Que es realmente lo que quieres conseguir? ¿Un programa que vaya matando otros procesos, sean cuales sean, cuando estos parezcan estar bloqueados, o por el contrario solo quieres controlar el comportamiento de un programa en concreto?
Responder Con Cita
  #3  
Antiguo 11-03-2008
kasper kasper is offline
Miembro
 
Registrado: feb 2008
Posts: 20
Poder: 0
kasper Va por buen camino
Buenas, quiero controlar una sola aplicación, la cual por un problema de red, cuando hay una desconexión se me queda "colgado" o "bloqueado", total, que no funciona.

Lo que me gustaría es conseguir saber que este programa se ha quedado en esta situación para poder matarlo y reiniciarlo.

Espero que me hayas entendido.

Saludos.

Espero respuesta señores, merci.
Responder Con Cita
  #4  
Antiguo 11-03-2008
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Pues entonces tendrás que buscar formas de determinar el estado de ese programa. Lo primero que se me ocurre es que compruebes el estado de la red, a partir de ahí las otras ideas que se me ocurren son mucho mas complejas, por ejemplo comprobar el bucle de mensajes.

Lo mejor es que busques en el comportamiento del propio programa signos de que se ha bloqueado, por ejemplo, si sabes que tiene que mostrar cierto mensaje, o crear o modificar cierto archivo, y no lo hace puede ser un signo de que se ha bloqueado.

Como ves no hay una respuesta sencilla a tu problema.
Responder Con Cita
  #5  
Antiguo 11-03-2008
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Se me ocurre algo que no sería muy dificil de implementar:

Que el proceso "guardian" envíe un mensaje al proceso que se vigila, y espere el tiempo que te parezca razonable por una respuesta. Si no la recibe en ese tiempo, podrá asumir que el otro está bloqueado, matarlo e iniciarlo de nuevo. Para esto, podrías valerte de la propia mensajería de windows... así, resulta bastante sencillo de implementar.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener el handle de un proceso TEO127 API de Windows 4 10-01-2008 22:14:07
Obtener Handle de un Proceso conociendo su nombre... JuanErasmo API de Windows 15 29-11-2006 02:12:29
Obtener proceso de una ventana. Thor API de Windows 2 02-05-2006 18:46:55
Obtener usuario propietario de un proceso walrus API de Windows 2 06-09-2005 17:48:13
Obtener el username de un proceso Alex_Ramiro API de Windows 1 08-02-2005 19:34:23


La franja horaria es GMT +2. Ahora son las 01:24:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi