Я обертываю приложение fastcgi в bash-скрипт следующим образом:
#!/bin/bash
# stuff
./fastcgi_bin
# stuff
Поскольку bash выполняет только прерывания для сигналов, когда сценарий переднего плана заканчивается, я не могу просто kill -TERM scriptpid
, потому что приложение fastcgi будет поддерживаться.
Я попытался отправить двоичный файл в фоновом режиме:
#!/bin/bash
# stuff
./fastcgi_bin &
PID=$!
trap "kill $PID" TERM
# stuff
Но если я делаю это так, очевидно, stdin и stdout не перенаправлены должным образом, поскольку они не соединяются с lighttpds mod_fastgi, версия переднего плана работает.
РЕДАКТИРОВАТЬ: Я смотрел на проблему, и это происходит потому, что bash перенаправляет / dev / null в stdin, когда программа запускается в фоновом режиме, поэтому любой способ избежать этого должен решить мою проблему а также.
Есть подсказка, как решить эту проблему?