启动时以管理权限启动tomcat

启动时以管理权限启动tomcat

我需要在登录系统之前运行一个进程。如何像服务一样运行它?如何在 Linux 中创建服务?

在 Ubuntu 和 Fedora 中?服务是定制的tomcat

答案1

运行服务没有或之前登录到系统(即“启动时”),您将需要创建启动脚本并将其添加到启动序列中。
服务脚本由三个部分组成:启动、停止和重新启动。
服务脚本的基本结构是:

#!/bin/bash
#
RETVAL=0;

start() {
echo “Starting <Service>”
}

stop() {
echo “Stopping <Service>”
}

restart() {
stop
start
}

case “$1″ in
start)
  start
;;
stop)
  stop
;;
restart)
  restart
;;
*)

echo $”Usage: $0 {start|stop|restart}”
exit 1
esac

exit $RETVAL  

一旦你根据自己的喜好调整了脚本,只需将其放在 /etc/init.d/ 中
,并将其添加到系统服务启动进程中(在 Fedora 上,我不是 Ubuntu 用户,>D):

chkconfig -add <ServiceName>  

服务将被添加到系统启动过程中,您无需再次手动启动它。

干杯!

答案2

根据 init 系统,您可以以不同的方式创建 init 脚本。 Fedora 为您提供了 upstart 和 systemd 可供选择,当然还有 SysV 兼容性。

暴发户

  • 创建服务定义文件为/etc/init/custom-tomcat.conf
  • 放进去:

    start on stopped rc RUNLEVEL=3
    respawn
    exec /path/to/your/tomcat --and --parameters
    

并且您的 Tomcat 应该在系统启动时启动。

系统

  • 在中创建服务定义/etc/systemd/system/custom-tomcat.service
  • 放进去:

    [Service]
    ExecStart=/path/to/your/tomcat --and --parameters
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    

并使用 启用您的服务systemctl enable custom-tomcat.service。每次正常启动都会启动它。

当然,这两个 init 系统还有更多的配置选项,您可以在它们的文档中查看这些选项。

答案3

Tomcat 是一项相当常见的服务,我建议您查看发行版已经提供的初始化脚本。它很可能适用于您定制的二进制文件,几乎不需要任何调整。

答案4

要在计算机启动后但用户登录之前简单地运行脚本,您可以简单地编辑脚本 /etc/rc.local ,该脚本旨在准确解决此任务。

相关内容