以前總覺得寫東西就得上綱上線,一篇不整個幾千字都不敢發出來。現在想想,我又不是奔著出書的目的去的,我只是純粹的想記錄一些東西,又
以前總覺得寫東西就得上綱上線,一篇不整個幾千字都不敢發出來。現在想想,我又不是奔著出書的目的去的,我只是純粹的想記錄一些東西,又何必限制于篇幅呢
supervisor 調用的環境變量分為兩種,一種是在 supervisor 配置文件中使用系統已經定義好的環境變量,另一種為 supervisor 子程序運行過程中使用的環境變量。
supervisor 配置文件中調用系統環境變量
此類環境變量一般用來定義一些預先無法確定的變量,比如可以自定義安裝位置的程序,可以將其主目錄定義在系統環境變量中,如果程序的安裝位置發生了變化,只需要修改一次環境變量中對應的值即可,而無需再對 supervisor 的配置文件進行修改。
在 supervisor 的配置文件中調用系統的環境變量時,需要以 %(ENV_xxxx)s 的格式進行調用。假如我的系統環境變量中有這樣一個環境變量 export MY_HOME=/opt/home,那我在 supervisor 中就要以 %(ENV_MY_HOME)s進行調用。
定義子程序運行的環境變量
此類環境變量一般用來定義子程序所依賴的一些庫文件。
子程序的環境變量需要在自己的 [program:x] 下新增 environment 字段。如 environment=LD_LIBRARY=/opt/home/lib。
下面是一個帶有上面兩種環境變量定義的簡單例子:
$ cat supervisor.confn[inet_http_server]nport=0.0.0.0:9111nn[program:hello]ndepends_on=helloncommand=%(ENV_MY_HOME)s/hellondirectory=%(ENV_MY_HOME)s/hellonautostart=truenautorestart=truenstopwaitsecs=3nstdout_logfile=%(ENV_MY_HOME)s/logs/hello.lognstderr_logfile=%(ENV_MY_HOME)s/logs/hello.lognstdout_logfile_maxbytes=10485760nstdout_logfile_backups=2nstderr_logfile_maxbytes=10485760nstderr_logfile_backups=2nenvironment=LD_LIBRARY=%(ENV_MY_HOME)s/libnn$ echo $MY_HOMEn/opt/home








