環境:bash
操做系統:Centos 7ui
dotnet core:2.0.0 2.1.3spa
問題:操作系統
在使用supervisor 配置守護進程時,啓動dotnet.core程序失敗,查看/tmp下supervisor日誌,發現dotnet.core程序啓動屢次(127錯誤碼)失敗後,報「 too many start retries too quickly」 程序中止。日誌
分析與解決:進程
由於環境是新配的,先檢查dotnet 命令 是否正常,很大的多是因爲dotnet core 環境的問題配置
若是dotnet 沒有問題,檢查supervisor 配置的項目啓動文件,驗證:file
一、是否命令有無問題,command是否能夠被執行(使用絕對的路徑試下)supervisor
把command 命令直接在控制檯運行是否正常權限
二、修改command,不使用 /bin/bash -c "dotnet ****.dll" ,如command=dotnet ****.dll
三、檢查執行目錄是否正確
四、用戶是否有執行權限
我發生的本次問題是:
沒有在/usr/local/bin/下放入dotnet,即沒有作命令:「sudo ln -s /opt/dotnet/dotnet /usr/local/bin」 ,"/opt/dotnet/" 爲dotnet 安裝目錄
雖然dotnet 能在控制檯執行,是因爲在profile 中添加了Path。而supervisor在調用命令時,bin/bash 沒法獲知dotnet 命令,在更換直接用dotnet ***.dll時,supervisor日誌中顯示,沒法識別dotnet命令。