Boot

命令 /etc/init/boot.local 在一些環境變數被初始化之前開始

  • August 22, 2011

我有 OpenSuse 11.4。

我在裡面啟動了一些啟動腳本/etc/init/boot.local

我可以在哪裡移動這些腳本,以便在所有(大多數)環境變數初始化後啟動它們?

這些腳本需要真正啟動一次,所以/etc/profile.local不是候選人。

我嘗試啟動 Sonar,它以某種奇怪的方式搜尋 Java(而不是只是通過查找JAVA_HOME),但它無法找到 Java(日誌沒有告訴我確切的原因)。從命令行,啟動後,它可以啟動(以 root 和使用者身份)。

我想,有一些環境變數會在服務內部初始化。可以這樣嗎?

編輯:來自 sonar/bin/linux-x86-64 的

sonar.sh編輯:來自 sonar/logs的 sonar.log

我不熟悉 openSUSE,但在我看來,最好的方法是在啟動服務之前導出環境變數/etc/init/boot.local


編輯

無法啟動 JVM:沒有這樣的文件或目錄

JAVA_HOME/bin/ 是否已經在您的 PATH 中?

通常全域變數不會在初始化腳本中初始化。您需要的變數可以通過 /etc/profile.local 或其他一些 shell 配置文件在 shell 中適當地初始化。

如果從 shell 中找到一個 java,它位於哪裡?

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