Boot
命令 /etc/init/boot.local 在一些環境變數被初始化之前開始
我有 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,它位於哪裡?