environment-variables - 主管和环境变量

标签 environment-variables supervisord

我真的不知道如何让主管使用环境变量。

下面是一个配置片段。

[program:htNotificationService]
priority=2
#autostart=true
#autorestart=true
directory=/home/ubuntu/workspace/htFrontEnd/heythat/htsite
command = /usr/bin/python htNotificationService.py -service
stdout_logfile=/var/log/heythat/htNotificationService.log
redirect_stderr=true
environment=PATH=/home/ubuntu/workspace/htFrontEnd/heythat
stopsignal=QUIT

我尝试过以下方法:

environment=PATH=/home/ubuntu/workspace/htFrontEnd/heythat
environment=PYTHONPATH=$PYTHONPATH:/home/ubuntu/workspace/htFrontEnd/heythat
environment=PATH=/home/ubuntu/workspace/htFrontEnd/heythat,PYTHONPATH=$PYTHONPATH:/home/ubuntu/workspace/htFrontEnd/heythat

当我启动主管时,我得到

htNotificationService: ERROR (abnormal termination)

我可以通过设置 python 路径从 shell 启动,但不能从主管启动。在日志中我收到一条错误,指出无法找到导入。嗯,如果主管工作的话,这个问题就可以解决。我什至在/etc/environments 中有路径?

为什么主管不工作?

最佳答案

通过 %(ENV_VARNAME)s 引用现有环境变量

参见:https://github.com/Supervisor/supervisor/blob/master/supervisor/skel/sample.conf

设置多个环境变量是通过用逗号分隔来完成的

参见:http://supervisord.org/subprocess.html#subprocess-environment

尝试:

environment=PYTHONPATH=/opt/mypypath:%(ENV_PYTHONPATH)s,PATH=/opt/mypath:%(ENV_PATH)s

关于environment-variables - 主管和环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12900402/

相关文章:

.htaccess - 通过 htaccess 捕获 X-FORWARDED-FOR header ?

environment-variables - 从 meteor 中的配置文件或环境变量获取值

python - conda使用/usr/local/bin/python代替conda环境python

python - 退出 : scrapy (exit status 0; not expected)

python - 使用主管 (Linux) 在关机期间保持程序最后运行

mysql - Laravel Supervisord 数据库死锁

bash - 在 Yosemite 中设置环境变量

php - 为什么主管无法启动程序?

supervisord - 重启服务主管

java - 使用 Java ProcessBuilder 执行 "echo"不会插入变量(输出字符串 "$PATH")