FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
como saber si un programa esta colgado
Hola a tod@s
Necesitaría saber desde un programa escrito en delphi7 si otro programa tambien en delphi7 se encuentra colgado o no responde porque esta haciendo una larga tarea y aun no ha terminado. de esta manera si esta colgado prodia matar el prosceso y ejecutarlo de nuevo. gracias |
#2
|
||||
|
||||
y ¿como sabes que Windows no miente?
Yo hice un programa que copiaba muchos megabytes de unas carpetas a otro, no hacía un "application.processmessages" para no alargar los ciclos más de lo necesario, y entonces Windows decía que "el programa no responde". Realmente el programa funciona muy bien, pero dado que no procesa los mensajes de la cola hasta terminar la operación de copiado, Windows se quejaba. Moraleja: Si el programa "no responde", pero hace su trabajo bien, deja que termine. Si la operación necesita más tiempo.... es que necesita más tiempo. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Una forma seria enviadole un mensaje al programa y que te devuelva una respuesta de que esta vivo.
Podrias usar cualquiera de los metodos de comunicacion entre aplicaciones que se hablo varias veces en el foro.
__________________
[Crandel] |
#4
|
||||
|
||||
Cita:
// Saludos |
#5
|
||||
|
||||
pero eso porque el quiere evitar el tiempo que le consume el ProcessMessages (que tampoco es tan grande) u otra alternativa como con multihilo. Algo tenes que ceder. No podes esperar que responda si no procesa los mensajes.
__________________
[Crandel] |
#6
|
||||
|
||||
Pero el ejemplo de Lepe, en mi opinión, lo que a final de cuentas muestra es que no hay una forma precisa de determinar si un programa está colgado o no, entendiendo por colgado que ya jamás responderá.
Ahora bien, yo presupuse desde el principio del hilo que no se tiene control sobre el programa "colgable" y que por ello se quiere tener la posibilidad de "matarlo" con otra aplicación. Pero, desde luego, si el código es nuestro, entonces ciertamente donde hay que trabajar es no en matarlo sino en hacer que corra procesos largos en hilos separados. // Saludos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
evitar colgado de programa | vivamotos | C++ Builder | 3 | 12-02-2007 17:16:59 |
Saber que programa se esta ejucutando y cerrarlo | majaco | Varios | 1 | 24-04-2006 17:14:29 |
Saber si se esta ejecutando un programa externo | jcaballeroo | API de Windows | 1 | 05-04-2005 18:01:58 |
local share = true programa colgado | JoseQ | Tablas planas | 7 | 06-12-2004 22:40:07 |
Saber si un programa se está ejecutando | Aprendiendo | OOP | 1 | 02-04-2004 00:32:46 |
|