PHP ejecucion proceso en background

  • Iniciador del tema Iniciador del tema rabo
  • Fecha de inicio Fecha de inicio
R

rabo

Guest
A ver quiero ejecutar un proceso desde una pagina en php , pero el
proceso en background y que deje de cargar la pagina.
He probado con esto:
-------------------
<?php

//proceso segundo plano para lanzar script en perl

if(procsp(`sh /var/www/b.sh `)){
print 'Lanzado Proceso';
}

function procsp($llamada) {
pclose(popen($llamada.' &', 'r'));
return true;
}

?>
------------------------------
Si que lo hace hasta cierto punto lo deja en background, explico
cuando peta por falta de memoria.
--------------------
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to
allocate 8192 bytes) in /var/www/envio.php on line 5
--------------------
El script ese b.sh se sigue ejecutandose , que es lo que quiero de
hecho ese script es un while true ( para probar que dejaba el proceso
en BG) ahora la coña es que no saque ese error.
¿Sabeis como se hace esto?
 
forosdelweb.com

...aquí nos sacas de meter linux por el mesenyer...
 
rabo rebuznó:
A ver quiero ejecutar un proceso desde una pagina en php , pero el
proceso en background y que deje de cargar la pagina.
He probado con esto:
-------------------
<?php

//proceso segundo plano para lanzar script en perl

if(procsp(`sh /var/www/b.sh `)){
print 'Lanzado Proceso';
}

function procsp($llamada) {
pclose(popen($llamada.' &', 'r'));
return true;
}

?>
------------------------------
Si que lo hace hasta cierto punto lo deja en background, explico
cuando peta por falta de memoria.
--------------------
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to
allocate 8192 bytes) in /var/www/envio.php on line 5
--------------------
El script ese b.sh se sigue ejecutandose , que es lo que quiero de
hecho ese script es un while true ( para probar que dejaba el proceso
en BG) ahora la coña es que no saque ese error.
¿Sabeis como se hace esto?

Rabo, te estas comiendo la memoria del servidor web (Apache supongo).

Si es un while(1) chungo que no te acabe dando ese error, puedes probar a asignar mas memoria php en el php.ini de Apache, pero me da que no te va a servir.

Que hace exactamente el script de b.sh?
 
Eso no vale loco , eso no debe salir , es decir si lo aumentara llegaria a comerse lo que le pusiese.
El tema es k quiero que deje de "ejecutar" el php sin hacer el cerdo.
Es un Vmware en "preproduccion". Es while true infinito, puesto a porposito a ver si sigue enejecucion tras la carga de la página y al cerrar el navegador , cosa k hace sin problema.
La hago con el popen para poder dejar ese proceso en background y como he dicho seguir la ejecucion de la pagina o cerrar el navegador y k el script se siga ejecutando , ya que el script k lanzará eso calculo que tardará en ejecutarse un buen rato en el k no quiero tener al usuario mirando el monitor ni en esa url.
Lo suyo es saber por que sale el error eso es muy cerdo , pero todo el mundo sabe que acabaré haciendolo :lol:

Pero la coña era si alguien habia lanzado procesos en background y dejandolos ahí poder cerrar el navegador o continuar con otra pagina sin k pegase una petada. gracias y enhorabuena a los premiados.
 
Pero coño, seguro que nada mas lanzar el sript te peta no?
 
pero que quieres ejecutar una vmware del servidor desde tu navegador o de la maquina que quieras?
 
Atrás
Arriba Pie