该supervisord文件指出,
supervisord 在运行子进程时不会执行任何 shell,因此环境变量(如 USER、PATH、HOME、SHELL、LOGNAME 等)不会从其默认值更改或以其他方式重新分配。(...) 如果您需要为特定程序设置环境变量,否则可能会由特定用户的 shell 调用设置,您必须在 environment= program config 选项中显式执行此操作。
包含一个示例,我将其复制到/etc/supervisor/conf.d/apache2.conf:
[program:apache2]
command=/home/chrism/bin/httpd -c "ErrorLog /dev/stdout" -DFOREGROUND
user=chrism
environment=HOME=/home/chrism,USER=chrism
Run Code Online (Sandbox Code Playgroud)
然而,
# supervisorctl reread
ERROR: CANT_REREAD: Unexpected end of key/value pairs
Run Code Online (Sandbox Code Playgroud)
删除 apache2 配置的“环境”行不会导致重新读取的解析错误。这里有什么好玩的?我在 Debian Squeeze 上使用 supervisor 3.0a8-1,注意主线 supervisor 是 3.0a10;我找不到environment自 3.0a8 以来已添加的参考
Abh*_*k A 11
http://supervisord.org/configuration.html#program-x-section-settings
说“包含非字母数字字符的值应该放在引号中”
| 归档时间: |
|
| 查看次数: |
10348 次 |
| 最近记录: |