Estoy envolver una aplicación fastcgi en una escritura del golpe como éste:Kill escritura del golpe foreground niños cuando llegue una señal
#!/bin/bash
# stuff
./fastcgi_bin
# stuff
Como fiesta sólo se ejecuta trampas para señales cuando termina la secuencia de comandos de primer plano que no puedo acaba kill -TERM scriptpid
porque la aplicación fastcgi se mantendrá viva.
He intentado enviar el binario para el fondo:
#!/bin/bash
# stuff
./fastcgi_bin &
PID=$!
trap "kill $PID" TERM
# stuff
Pero si lo hago de esta manera, al parecer, la entrada y salida estándar no se redirigen adecuadamente porque no se conecta con lighttpds mod_fastgi, la versión en primer plano funciona.
EDIT: He estado buscando en el problema y esto se debe a que redirige fiesta/dev/null a la entrada estándar cuando un programa se puso en marcha en el fondo, por lo que cualquier forma de evitar esto debería resolver mi problema también.
¿Alguna pista sobre cómo solucionar esto?
que fue mi primer pensamiento también: 'killpg'. – tchrist
'exec' era exactamente lo que necesitaba! Gracias –
También podría considerar buscar el otro script. Esto le permite ejecutarse en el mismo proceso sin eliminar el resto del script actual. (por ejemplo, ./fastcgi.bin) (es decir,) –
GinoA