2016-07-07 227 views
2

我尝试在基于yocto的linux设备启动时执行java应用程序。我在/etc/init.d/etic上添加了一个脚本并使其可执行。如果我在shell /etc/init.d/etic start/etc/init.d/etic stop上调用,则应用程序按预期启动并停止。然后我调用shell update-rc.d etic defaults并创建了符号链接。根据我在网上发现的情况,这应该足够了,但不知何故应用程序不会启动。我错过了什么?我怎么能检查什么是错误的,或者是否有任何我应该尝试扩展的最小范例?在Linux启动时启动脚本

+1

如果符号链接已创建,那应该就足够了。尝试让你的init脚本记录发生了什么。当使用sysvinit运行时,可能PATH没有正确/完全设置? – Anders

+0

该应用是否有UI? – jku

+0

@Anders你的意思是哪一个日志,来自我的剧本?对于我使用java的路径,我将'PATH = $ PATH:/ usr/java/bin'添加到我的脚本中。 – Semaphor

回答

1

好的,与从init系统运行时相比,这种问题往往是由于手动执行启动脚本时环境不同所致。例如,从init系统运行时,您的.profile.bashrc将不会被采购。

您可以使用例如logger来轻松记录init脚本中的内容,而这很容易找出问题所在。