一、进入/usr/lib/systemd/system目录创建portal.service,内容为

[Unit]
Description=My Java forking service
After=syslog.target network.target
[Service]
uccessExitStatus=143
User=root
Group=root

Type=forking

ExecStart=/opt/startportal.sh
xecStop=/bin/kill -15 $MAINPID
#Restart=on-failure
[Install]
WantedBy=multi-user.target

二、进入/opt 目录创建startportal.sh 内容为:

 #!/bin/bash

JAVA_HOME=/opt/jdk8
WORKDIR=/root/company/portal

cd $WORKDIR
nohup "${JAVA_HOME}/bin/java" $JAVA_OPTIONS -jar company-portal-0.0.1-SNAPSHOT.jar 2&>1 &

注意要使用nohup后台方式,不然systemctl start portal.service会挂住。

jar 文件可以放在任意位置,shell中创建WORKDIR变量即可

三、 执行systemctl命令

  systemctl enbale portal.service #开机自启动
  systemctl start portal.service

然后使用命令jps检查java进程

  jps

启动后可以执行下面命令停止进程

   systemctl stop portal.service

使用jps查看java进程是否停止

jps

如果有问题可以执行下面命令排查

   systemctl status portal.service

四、 service的原理请参考大神的这篇文章

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐