Você tem dois problemas que eu posso ver:
prog=python /opt/google_appengine/dev_appserver.py --host=0.0.0.0 --admin_host=0.0.0.0 --php_executable_path=/usr/bin/php-cgi /var/www
Inicia /opt/google_appengine/dev_appserver.py
com prog=python
no ambiente. Isso é antes de seu bloco start
, então start-stop-daemon
não está nem se envolvendo.
A solução rápida é citar toda a tarefa assim:
prog='python /opt/google_appengine/dev_appserver.py --host=0.0.0.0 --admin_host=0.0.0.0 --php_executable_path=/usr/bin/php-cgi /var/www'
Mas uma solução melhor é usar o estilo de /etc/init.d/skeleton
e fazer
DAEMON='python /opt/google/appengine/dev_appserver.py'
DAEMON_ARGS='--host=0.0.0.0 --admin_host=0.0.0.0 --php_executable_path=/usr/bin/php-cgi /var/www'
O segundo problema é que você está erroneamente citando $prog
.
start-stop-daemon --start --make-pidfile --background --oknodo --user "$user" --name "$name" --pidfile "$pid" --startas "$prog"
informa ao start-stop-daemon
para tentar iniciar um programa chamado python /opt/google_appengine/dev_appserver.py --host=0.0.0.0 --admin_host=0.0.0.0 --php_executable_path=/usr/bin/php-cgi /var/www
.
Mas claramente não há nenhum programa chamado isso. Você deseja iniciar python
com argumentos. Removendo as aspas duplas, há a correção rápida, mas uma melhor, novamente seguindo /etc/init.d/skeleton
, seria
start-stop-daemon --start --quiet --chuid $CHUID --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS