Linux
“服務”——命令和環境變數
我正在嘗試啟動需要環境的服務。變數設置為特定路徑。我在“/etc/profile.d/”中設置了這個變數。但是,當我使用
service
命令啟動此服務時,它不起作用。男服務:
service runs a System V init script in as predictable environment as possible, removing most environment variables and with current working directory set to /.
所以似乎
service
正在刪除我的變數。我應該如何設置變數以防止它們被刪除。或者那是我不應該做的事情。我可以使用 init-scripts 手動啟動服務,甚至可以將路徑硬編碼到腳本中,但我想知道如何在
service
命令中使用它。
從 Fedora 16 開始,
service
只接受LANG
和TERM
環境變數,其他一切都被丟棄。因此,即使您目前的 {CentOS,RHEL} 以某種方式接受了這些變數,也要為它不再起作用的未來做好準備。因此,硬編碼初始化腳本和/或在守護程序設置文件本身中設置變數將是您的選擇。
建議將配置設置放在一個配置中
/etc/sysconfig/<servicename>
,然後由 init 腳本讀取。問候
布拉姆