我正在开发一个安装向导来在 linux 上安装一个应用程序,作为安装的一部分,我安装了 tomcat 并将其设置为系统启动时自动启动的服务。有人可以帮我弄清楚吗? (在 linux 上安装 tomcat 并仅通过 Java 代码将其设置为服务)
最佳答案
这是一个想法,但请记住,您可以在 Java 中完成以下大部分,但不能在 Java 中完成全部:
- 在大多数 Linux 发行版中,服务都在
/etc/init.d
中——尽管路径可能会有所不同,也可能是/etc/rc.d/init.d
- 所以你需要检查哪一个适用。通常,您会在其中复制一个启动服务的 shell 脚本。 - 然而,shell 脚本本身通常依赖于发行版,但您可以准备多个 shell 脚本——每个发行版一个,并通过启动命令
uname -a
并解析它来确定它是哪个发行版输出以确定发行版以及要复制到/etc/init.d
的脚本。您需要授予此脚本的读取/执行权限,但这可以通过启动chmod
来完成
- 然后您通常会将此脚本符号链接(symbolic link)到
/etc/rc2.d/
或/etc/rc3.d/
—— 您可以在两者中符号链接(symbolic link)它;但是,您不能在 Java 中进行符号链接(symbolic link)——您将需要使用一些 native 库; - 或者也可以简单地将您的脚本复制到这些目录中;尽管这确实意味着现在您有 3 个配置点(
/etc/init.d/
、/etc/rc2.d
和/etc/rc3. d/
) 不理想 - 或者另一个想法是启动
ln -s/etc/init.d/yourscript/etc/rc2.d/name
来制作符号链接(symbolic link)
这意味着您的安装只能在 Linux 上运行。 希望这会有所帮助。
关于java安装tomcat作为服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6201531/