Linux

“服務”——命令和環境變數

  • February 18, 2013

我正在嘗試啟動需要環境的服務。變數設置為特定路徑。我在“/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只接受LANGTERM環境變數,其他一切都被丟棄。因此,即使您目前的 {CentOS,RHEL} 以某種方式接受了這些變數,也要為它不再起作用的未來做好準備。

因此,硬編碼初始化腳本和/或在守護程序設置文件本身中設置變數將是您的選擇。

建議將配置設置放在一個配置中/etc/sysconfig/<servicename>,然後由 init 腳本讀取。

問候

布拉姆

引用自:https://serverfault.com/questions/374404