我正在运行supervisord来执行gunicorn。我的问题是,当我的脚本包含CURR_DIR=`pwd -P`并通过supervisord运行该脚本时,它会停止该过程。我的脚本位于/var/www/conf
,我希望在运行脚本时返回`pwd P` /var/www/conf
。我尝试了PWD,但也没有返回/var/www/conf
。当我在supervisord之外运行脚本时,`pwd -P`可以正常工作。
但是如果我对 CURR_DIR=/some/dir 进行硬编码,那么 Supervisord 运行脚本就没有问题。
这是我的脚本
#!/bin/bash
NAME=myproj
GUNICORN_EXEC=/home/user/.virtualenvs/tscoop/bin/gunicorn
CURRENT_DIR=`pwd -P` # does not work: causes "STOPPED" error in supervisord
CURRENT_DIR=/var/www/conf # works ok
export GUNICORN_CONF=${CURRENT_DIR}/gunicorn.conf
echo "Starting $NAME"
exec $GUNICORN_EXEC -c $GUNICORN_CONF
exit 0
这是我从supervisorctl shell得到的错误消息:
supervisor> status
myscript STOPPED Aug 27 09:57 PM
我怎样才能使运行supervisord 能够运行上述脚本?