%20Ejecutar%20programa%20en%20segundo%20plano.png)
Estoy intentando ejecutar un script PHP en segundo plano en mi servidor Linux a través de SSH (Putty) pero no consigo que funcione.
El comando que quiero ejecutar en segundo plano es:
php buildscript/build_css.php
comoroot@FIG-VMSAM:/var/www/wem#
He probado esto y solo obtengo esto y no funciona (no construyas mi CSS por mí)
root@FIG-VMSAM:/var/www/wem# php buildscript/build_css.php &
[1] 2274
[1]+ Stopped php buildscript/build_css.php
También intenté iniciar el comando de forma normal y luego ponerlo en segundo plano, <Ctrl>+z
pero tampoco funciona.
Como fondo en mi script PHP uso system()
y llamostylus
http://learnboost.github.com/stylus/
y inotifywait
si esto es para ayudar?
¿Alguien sabe por qué esto no funciona para mí?
Respuesta1
Otra respuesta rápida es... suponiendo que el programa realmente no necesita intervención del usuario:
php buildscript/build_css.php </dev/null &
La razón por la que se detiene es que el programa se está abriendo stdin
por algún motivo, aunque es posible que no necesite ninguna entrada.
Respuesta2
¿Sería posible ejecutar el script en una pantalla separada?
sudo apt-get install screen
Luego use screen -S screenname
donde nombre de pantalla es el nombre que le da a la sesión de pantalla.
Una vez en la pantalla, puede ingresar su comando,php buildscript/build_css.php
Para salir de la sesión, utilice ctrl+ a+ d.
Para volver a la sesión, utilicescreen -r screenname
No te preocupes, cuando salgas de la sesión, el comando seguirá ejecutándose en segundo plano.