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

发布于 2025-01-07 16:48:51 字数 197 浏览 1 评论 0原文

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

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

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

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

I have a Java application that needs to implement installation features of making a JAR launch on startup.

I can do this on Window by entering a REG file into the registry, but how can I do this on UNIX platforms? Linux and Mac if the methods are different.

Do Linux and Mac have system startup folders?

Remember that I need to do this programmatically not through system preferences or anything like that.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

三生殊途 2025-01-14 16:48:51

在 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

On Linux, the classic way would be through adding a script in the appropriate /etc/rcN.d/ directory (where N is a number 0-6 representing the 'run level'). I'm not sure whether that's still the recommended way, but it usually is still supported. This would also work with minor variations for other mainstream Unix variants (Solaris, HP-UX, AIX).

On Mac, you have to work harder. The files /etc/rc.common, /etc/rc.imaging and /etc/rc.netboot are related, but there are no /etc/rcN.d directories. There's also a script rc and another rc.local. Typing man rc reveals:

DESCRIPTION

rc.local is now unsupported and has been replaced with launchd(8), which bootstraps itself via the launchctl(1) bootstrap subcommand to read in launchd(8) jobs from the standard locations.

SEE ALSO

launchd(8), launchctl(1)

So, you should investigate launchctl and launchd, particularly launchctl.

何止钟意 2025-01-14 16:48:51

这就是我在 ubuntu 上的做法。

首先创建一个bash脚本来运行java应用程序,类似于。

#!/bin/bash
java -jar "helloworld.jar"

并保存它,在本例中称为 /etc/init.d 中的“HELLOWORLD”。

需要使脚本可执行,因此需要运行

chmod +x HELLOWORLD

Final 使其在启动时运行

update-rc.d HELLOWORLD defaults

This is how I would do it on ubuntu.

First create a bash script to run the java app, similar to.

#!/bin/bash
java -jar "helloworld.jar"

and save it, in this case called 'HELLOWORLD' in /etc/init.d.

Need to make the script executable so need to run

chmod +x HELLOWORLD

Finally to make it run on start up

update-rc.d HELLOWORLD defaults
哆兒滾 2025-01-14 16:48:51

在 Mac 上我认为是 launchd,在 Linux 上是 init.d。它们是配置文件。

On Macs I think its launchd, and on linux its init.d. They are config files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文