Foros del Web » Programando para Internet » PHP »

controlar fin de multiprocesos

Estas en el tema de controlar fin de multiprocesos en el foro de PHP en Foros del Web. Saludos, estoy realizando una aplicacion en la que hago uso de pcntl_fork(). Lo que sucede es que luego de ejecutar el bloque de instrucciones del ...
  #1 (permalink)  
Antiguo 04/04/2010, 11:14
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
controlar fin de multiprocesos

Saludos, estoy realizando una aplicacion en la que hago uso de pcntl_fork(). Lo que sucede es que luego de ejecutar el bloque de instrucciones del multiproceso necesito trabajar con el resultado del mismo que es una serie de xml que se generan. Como parece se mantienen los procesos activos y no terminan, no logro leer todos los XML cuando llego a la linea que es para eso. Lo que necesito es saber como controlar el fin de todos los procesos,
  #2 (permalink)  
Antiguo 04/04/2010, 11:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: controlar fin de multiprocesos

¿Estás indicando que el proceso se mantiene escribiendo en el XML y nunca termina? ¿Que es lo que quieres hacer exactamente, detener el proceso mientras lees el XML o leer la última línea que tenga cuando el XML haya empezado a leer? Podrías mejor dar algún ejemplo para poder entenderte mejor.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 04/04/2010, 12:16
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: controlar fin de multiprocesos

Imaginate que estas ejecutando una aplicacion externa varias veces con multiprocesos, esa aplicacion genera archivos xml. Cuando termina el ciclo de ejecucion de la aplicacion con multiprocesos vas a leer esos archviso xml generados pero es que como todavian se pueden estar generando xml puede ser que no lo leas todos. No se si me entiendes ahora. Lo que quiero es saber cuando termina el ultimo proceso para leer hasta el ultimo xml/
  #4 (permalink)  
Antiguo 04/04/2010, 12:35
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: controlar fin de multiprocesos

Lo que veo es que como es una aplicación externa no tienes control sobre ella. Por lo tanto la única forma que veo es que hagas una verificación x cantidad de tiempo. A menos que tengas control sobre esas aplicaciones no veo posibilidad de saber cuando termine la última entonces hagas el proceso de busqueda.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 04/04/2010, 16:08
 
Fecha de Ingreso: enero-2010
Mensajes: 191
Antigüedad: 14 años, 3 meses
Puntos: 7
Respuesta: controlar fin de multiprocesos

Cita:
Iniciado por blesther Ver Mensaje
Saludos, estoy realizando una aplicacion en la que hago uso de pcntl_fork(). Lo que sucede es que luego de ejecutar el bloque de instrucciones del multiproceso necesito trabajar con el resultado del mismo que es una serie de xml que se generan. Como parece se mantienen los procesos activos y no terminan, no logro leer todos los XML cuando llego a la linea que es para eso. Lo que necesito es saber como controlar el fin de todos los procesos,
Varias cosas, si los procesos no terminan es un problema, porqué no lo hacen, si es por algún error y debes tomar una maniobra evasiva manda un
Código PHP:
posix_kill 
para forzar a terminarlo, ojo con los kills.

Si deseas esperar a que terminen los hijos debes utilizar
Código PHP:
pcntl_waitpid 
en el padre para cuando terminen continuas con el proceso padre, guarda los distintos pid en un array y compruebalos despúes.
  #6 (permalink)  
Antiguo 04/04/2010, 17:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: controlar fin de multiprocesos

Ojo tanto posix como pcntl no están disponible para window.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: controlar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:47.