我有一个Java应用程序需要实现在启动时启动JAR的安装功能。
我可以通过在注册表中输入REG文件在Window上执行此操作,但是如何在UNIX平台上执行此操作? Linux和Mac,如果方法不同。
Linux和Mac是否有系统启动文件夹?
请记住,我需要以编程方式执行此操作,而不是通过系统首选项或类似的任何内容。
答案 0 :(得分:1)
在Linux上,经典的方法是在相应的/etc/rcN.d/
目录中添加一个脚本(其中N是代表'运行级别'的数字0-6)。我不确定这是否仍然是推荐的方式,但通常仍然支持。这也适用于其他主流Unix变体(Solaris,HP-UX,AIX)的微小变化。
在Mac上,你必须更加努力。文件/etc/rc.common
,/etc/rc.imaging
和/etc/rc.netboot
是相关的,但没有/etc/rcN.d
个目录。还有一个脚本rc
和另一个rc.local
。键入man rc
会显示:
说明
rc.local
现在不受支持,已被launchd(8)取代,后者通过launchctl(1)bootstrap子命令自行引导,以读取标准位置的launchd(8)作业。另见
launchd(8), launchctl(1)
因此,您应该调查launchctl
和launchd
,尤其是launchctl
。
答案 1 :(得分:0)
在Mac上我认为它是launchd
,而在Linux上它是init.d
。它们是配置文件。
答案 2 :(得分:0)
这就是我在ubuntu上的表现。
首先创建一个bash脚本来运行java app,类似于。
#!/bin/bash
java -jar "helloworld.jar"
并保存,在这种情况下,在/etc/init.d中称为“HELLOWORLD”。
需要使脚本可执行,因此需要运行
chmod +x HELLOWORLD
最后让它在启动时运行
update-rc.d HELLOWORLD defaults