天天看點

supervisor ERROR (spawn error)

在supervisor中配置的程序無法正常啟動

supervisorctl status 

可以看到運作狀态,

cerebro                          FATAL     Exited too quickly (process log may have details)

這裡的資訊太少,我們需要到具體的日志中檢視到底出了什麼問題。

tail -20 /var/log/supervisord.log

2017-08-07 13:23:36,829 INFO spawned: 'cerebro' with pid 16482

2017-08-07 13:23:36,863 INFO exited: cerebro (exit status 1; not expected)

2017-08-07 13:23:36,863 INFO gave up: cerebro entered FATAL state, too many start retries too quickly

這裡的資訊雖然多了些,但是并沒有實質性的内容。

到底啟動的時候發生了什麼呢

supervisorctl tail programname stdout 

該指令是動态的輸出啟動程序時的輸出

/usr/bin/env: bash: Not a directory

發現環境變量沒有正确配置。

我其實已經在/etc/profile中配置了java的環境變量,但是沒有效果。

因為supervisor啟動時并不會加載/etc/profile 檔案。(設計本身)

但是supervisor 提供了一個配置參數enviroment

[program:cerebro]

environment = JAVA_HOME="/opt/jdk/"

co