UNIX平台上的系统启动文件夹/方法?

时间:2012-02-21 04:26:33

标签: java unix boot multiplatform startupscript

我有一个Java应用程序需要实现在启动时启动JAR的安装功能。

我可以通过在注册表中输入REG文件在Window上执行此操作,但是如何在UNIX平台上执行此操作? Linux和Mac,如果方法不同。

Linux和Mac是否有系统启动文件夹?

请记住,我需要以编程方式执行此操作,而不是通过系统首选项或类似的任何内容。

3 个答案:

答案 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)

因此,您应该调查launchctllaunchd,尤其是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