Linux (Ubuntu) Ejecutar programa en segundo plano

Linux (Ubuntu) Ejecutar programa en segundo plano

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.phpcomoroot@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 inotifywaitsi 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 stdinpor 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 screennamedonde 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.

información relacionada