在Linux启动时启动脚本
问题描述:
我尝试在基于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启动时启动脚本
答
好的,与从init系统运行时相比,这种问题往往是由于手动执行启动脚本时环境不同所致。例如,从init系统运行时,您的.profile
和.bashrc
将不会被采购。
您可以使用例如logger
来轻松记录init脚本中的内容,而这很容易找出问题所在。
如果符号链接已创建,那应该就足够了。尝试让你的init脚本记录发生了什么。当使用sysvinit运行时,可能PATH没有正确/完全设置? – Anders
该应用是否有UI? – jku
@Anders你的意思是哪一个日志,来自我的剧本?对于我使用java的路径,我将'PATH = $ PATH:/ usr/java/bin'添加到我的脚本中。 – Semaphor