Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.
Exacto, BL... estas ejecuciones pueden ser (y serán!) concurrentes, dado que precisamente un servidor web está pensado para poder hacer spawn (crear) varios hilos y atender varias peticiones simultáneas.
Así que cada vez que pulsabas F5 o "refrescar" en tu navegador, en efecto, lanzabas una copia nueva de tu Missile_Launch_Control.php ::
Una vez descartada la idea del exec con el tema de BL lo que debe pasar es que ha de tener un programa que no finaliza nunca, aun así nunca he visto que eso en PHP se quede funcionando aunque el server lance varios threads por ejecución.
Si fuera ese el tema, el navegador al cargar la página acabaría dando un timeout, creo que el apache está diseñado para 'recoger la cochambre' que ya no se está visualizando, por esa razón creo que lo que le pasa es que tiene una instancia del navegador en marcha aunque el no la esté viendo.
Ha de ser eso o un exec, no es nada sencillo provocar ese error y a mi no me ha ocurrido nunca y eso que hasta he escrito código python que devolvía código HTML y que ejecutaba un programa PHP, es decir, vericuetos de lo más raro y ni aun así me ha ocurrido eso.
Una vez descartada la idea del exec con el tema de BL lo que debe pasar es que ha de tener un programa que no finaliza nunca, aun así nunca he visto que eso en PHP se quede funcionando aunque el server lance varios threads por ejecución.
Si fuera ese el tema, el navegador al cargar la página acabaría dando un timeout, creo que el apache está diseñado para 'recoger la cochambre' que ya no se está visualizando, por esa razón creo que lo que le pasa es que tiene una instancia del navegador en marcha aunque el no la esté viendo.
Ha de ser eso o un exec, no es nada sencillo provocar ese error y a mi no me ha ocurrido nunca y eso que hasta he escrito código python que devolvía código HTML y que ejecutaba un programa PHP, es decir, vericuetos de lo más raro y ni aun así me ha ocurrido eso.
Bueno es que he modificado el php.ini para que no tenga tiempo máximo de ejecución....
....
¿De manera que cualquier proceso infinito que lances se queda ejecutándose en el Apache p'a los restos?
:... primero desactivas voluntariamente el fail-safe contra bucles infinitos, y luego te llevas las manos a la cabeza :XX::XX:Creo que es lo que dice banana, es el Apache el que lo está ejecutando, lo que no sé es por qué el Apache no tiene una especie de administrador de tareas para poder verlo.
:Bueno es que he modificado el php.ini para que no tenga tiempo máximo de ejecución y también he aumentado la memoria que puede utilizar cada proceso.
Que no tengo al navegador enganchado por ahí en background con el proceso corriendo te lo digo yo porque he utilizado programas para buscar y cancelar procesos y no aparece nada.
Creo que es lo que dice banana, es el Apache el que lo está ejecutando, lo que no sé es por qué el Apache no tiene una especie de administrador de tareas para poder verlo.
¿De manera que cualquier proceso infinito que lances se queda ejecutándose en el Apache p'a los restos?
Pues qué bien, le tendré que poner alguna condición para detenerlo, que lea alguna variable en algún archivo o algo así, ¿se puede hacer así o me dará error de lectura si coincide que tengo ese archivo abierto al modificarlo?
Del Ibex ni hablo porque sigue lo previsto desde ayer, intento de rebote.
Ojo, que mañana no hay POMO, el viernes no hay bolsa ni en WS ni aquí y el lunes no abre el Ibex.
Eres un jachondo, BL ::... primero desactivas voluntariamente el fail-safe contra bucles infinitos, y luego te llevas las manos a la cabeza :XX::XX:
Técnicamente no es una "tarea del apache", sino un hilo (thread) de apache por derecho propio, totalmente independiente del resto de hilos (y del hilo raíz, de paso). Lo más parecido a lo que estás buscando es una lista de hilos (procesos) apache corriendo en tu máquina actual... y aún así, te quedaría el problema de identificar qué están haciendo esos hilos, cosa imposible de ver desde, por ejemplo (si fuera linux ) un
"ps aux | grep httpd"
ya que eso te dará una lista de hilos apache, pero no lo que están haciendo.
Cuando apache hace un spawn y crea un hilo "descendiente" (bien sea para servir un perversos HTML o para lanzar un complejísimo programa server-side, da igual, se crea el hilo igualmente) digamos que se "pierde" el control sobre él definitivamente.
de ahí puedes sacar la conclusión de que programas que requieran cierto control o interactividad una vez lanzados, es mala idea lanzarlos a través de web. El detach, es lo que tiene ::
Coñe, es que si no hacía un bucle infinito no me servía de nada, lo que pasa es que yo pensaba que desde el navegador, de la misma manera que lanzas el proceso, lo detenías al desconectarte, pero ya veo que el php es un tanque suicida.
Como última medida para no mandarlo todo atp, ¿alguna idea para controlar ese s-c-r-i-p-t remotamente, es buena idea lo que he dicho en el post anterior?
Atpc los 450 como queso de untar. Y a este paso los 500 tambien.
El Dax... sin comentarios.
Ya tocaba subida por encima del punto porcentual. Me piro con la bici, que para ver lo de siempre mejor tomo el aire y el sol.
El vencimiento es mañana no??
el dax por encima de los 7200
jejeje, nunca se me ocurrió hacer ese tipo de 'banana' 😀
Es que no tiene sentido modificar php.ini salvo que quieras cosas muy concretas y no haya otro modo de hacerlas (y creo que no es el caso, igual que los goto), tu programa ha de cumplir con unos parámetros estándar y hay que ceñirse lo mejor posible a lo que hay porque los que hicieron php ya tuvieron en cuenta todo tipo de casos, por motivos de migración de un servidor a otro, por ejemplo.
De todas formas sigo pensando que el navegador debería dar un timeout ya que el programa PHP no finaliza nunca, aunque esto puede que solo sea aplicable a la parte que se visualiza y como el insert no se ve pues ahí está el problema.
El caso es que es lo mismo que los GOTO, siempre hay una forma más elegante y más lógica de programar, incluso aunque sea usando un bucle infinito y generando una señal para salirse de el. Algún día tendrás que cambiar tu sistema o tendrás que reinstalarlo, o te olvidarás del código y al cabo de unos años volverás a leerlo, si todo está programado de forma sucia, rápida y a base de incompatibildiades tendrás un buen lio el día que quieras 'rescatar' ese código.
Coñe, es que si no hacía un bucle infinito no me servía de nada, lo que pasa es que yo pensaba que desde el navegador, de la misma manera que lanzas el proceso, lo detenías al desconectarte, pero ya veo que el php es un tanque suicida.
Como última medida para no mandarlo todo atp, ¿alguna idea para controlar ese s-c-r-i-p-t remotamente, es buena idea lo que he dicho en el post anterior?
el DAX ha petado dos resistencias y va hoy a por la tercera......... no hay dos sin tres?
Te sugerí hace tiempo que lo pusieras como una tarea programada, al estilo cron y que se ejecute cada minuto o lo ejecutas al principio de la sesión y que se quede en background hasta que termine el día, con PHPCLI sería bastante sencillo.
Yo lo tengo de esa forma.
::
:😀Ya, ya, lo de los goto era porque había leído que utilizando "case" iba más lento, pero viendo que hablamos de diezmilésimas de segundo cualquiera sabe a qué se refieren con "más lento", le pondré un case para que no venga a por mí el talibán informático...
Pero si una vez que lanzo el php ya no lo puedo controlar supongo que tendré que programar una condición escrita en un archivo que yo sí controle, para que el php se detenga o haga algo distinto cuando yo quiero.
¿Qué forma elegante hay de hacer eso?
Ya, ya, lo de los goto era porque había leído que utilizando "case" iba más lento, pero viendo que hablamos de diezmilésimas de segundo cualquiera sabe a qué se refieren con "más lento", le pondré un case para que no venga a por mí el talibán informático...
Pero si una vez que lanzo el php ya no lo puedo controlar supongo que tendré que programar una condición escrita en un archivo que yo sí controle, para que el php se detenga o haga algo distinto cuando yo quiero.
¿Qué forma elegante hay de hacer eso?
.
.
$hora = date("h:i");
if ($hora == "17:35") {
// código para salir del programa
}
.
.
.
Me pareció un poco chapucero hacerlo así... :::
:😀
Pregunta de examen, ¿como controlar remotamente un s-c-r-i-p-t php? razone la respuesta. (2,5 pipos)
$file="c:\muerete.txt";
if (file_get_contents($file)) {
file_put_contents($file,"");
exit;
}
¿has probado con otro servidor web?
no he leido a fondo :o, pero yo haría un proceso shell php que lo controles manualmente, y el servidor web para mostrar el resultado. esto es independiente del servidor web.
para controlar remotamente... en windows no se, pero el proceso debería guardar un PiD en un archivo.txt, y para cancelar, hacer un kill leyendo el archivo.