在一些环境variables被初始化之前,命令/etc/init/boot.local开始

我有OpenSuse 11.4。

我在/etc/init/boot.local启动了一些启动脚本。

我可以在哪里移动这些脚本,以便在所有(大部分)环境variables初始化后启动它们?

这些脚本需要真正启动一次 ,所以像/etc/profile.local这样的东西不是候选者。

我尝试启动Sonar,它以某种奇怪的方式searchJava(而不是通过查找JAVA_HOME ),并且无法findJava(日志不明确地告诉我为什么)。 从命令行启动后, 可以启动(以root用户身份)。

我想,有一些环境variables在服务内部初始化。 可以这样吗?

编辑: sonar.sh从声纳/ bin / linux-x86-64
编辑: 从声纳/日志sonar.log

我不熟悉openSUSE,但是在我看来,最好的方法是在/etc/init/boot.local启动服务之前导出环境variables。


编辑

无法启动JVM:没有这样的文件或目录

JAVA_HOME / bin /已经在你的PATH中了吗?

通常,全局variables不是在init脚本中初始化的。 你需要的variables可以通过/etc/profile.local或其他shellconfiguration文件在shell中初始化。

如果从它所在的shell中find一个java?