supervisor 3.3.2 版本遇到的此問題
錯誤日志
supervisor: couldn't setuid to 502: Can't drop privilege as nonroot user
supervisor: child process was not spawned
supervisor: couldn't setuid to 502: Can't drop privilege as nonroot user
supervisor: child process was not spawned
supervisor: couldn't setuid to 502: Can't drop privilege as nonroot user
解決方法
查看每個任務(wù)的配置文件的user配置項是否為運行supervisor服務(wù)用戶。
比如:
我當(dāng)前使用A用戶登錄系統(tǒng)并啟動supervisor服務(wù)
supervisord -c etc/supervisord.conf
每個任務(wù)程序的運行用戶設(shè)置成了B。
cat files/old.ini
...
user=B
...
當(dāng)supervisor服務(wù)啟動時就會出現(xiàn)上面的錯誤。
然后將 任務(wù)程序的運行用戶設(shè)置成A,就不會出錯正常運行。
cat files/old.ini
...
user=A
...
supervisor 3.3.4 版本遇到的此問題解決方法
將supervisor 主配置文件個別配置項更改為下(更改root用戶為當(dāng)前用戶,因為非root用戶無法切換到root用戶。)
[supervisord]
user=當(dāng)前用戶 ;如果supervisord啟動的環(huán)境包含變量USER并且它設(shè)置為當(dāng)前用戶,您應(yīng)該能夠以user=%(ENV_USER)s任一用戶身份運行。