我有 OpenSuse 11.4。
我启动了里面的一些启动脚本/etc/init/boot.local
。
我可以将这些脚本移动到哪里以便它们在所有(大多数)环境变量初始化后启动?
这些脚本需要真正启动一次,因此诸如此类的事情/etc/profile.local
都不是候选。
我尝试启动 Sonar,它以某种奇怪的方式搜索 Java(而不是直接查找JAVA_HOME
),但它找不到 Java(日志没有告诉我确切原因)。从命令行启动后,它能启动(以 root 和用户身份)。
我猜想,有些环境变量在服务内部被初始化。可能是这样吗?
编辑:sonar.sh 来自 sonar/bin/linux-x86-64
编辑:sonar.log 来自 sonar/logs
答案1
我对 openSUSE 不太熟悉,但在我看来,最好的方法是在启动服务之前导出环境变量/etc/init/boot.local
。
编辑
无法启动 JVM:没有此文件或目录
JAVA_HOME/bin/ 是否已经在您的 PATH 中?
答案2
通常全局变量不会在 init 脚本中初始化。您需要的变量可能会在您的 shell 中通过 /etc/profile.local 或其他 shell 配置文件进行初始化。
如果从 shell 中找到 java,它位于哪里?