首页 > 编程语言 >systemd自启动java程序

systemd自启动java程序

时间:2023-01-03 17:56:03浏览次数:37  
标签:bin systemd java tomcat test sh 自启动

一、背景条件

1. Linux系统是Debian 8

2. Java程序是test.jar,安装路径是/home/test/test.jar

二、编写java的启动脚本

startTest.sh

#!/bin/sh
java -jar /home/test/test.jar &
echo $! > /var/run/test.pid

三、编写java的停止脚本

stopTest.sh

#/bin/sh
PID=$(cat /var/run/test.pid)
kill -9 $PID
rm -fr /var/run/test.pid

四、编写testJava.service

复制代码
[Unit]
Description=TestJava
After=network.target

[Service]
Type=forking
ExecStart=/home/test/startTest.sh
ExecStop=/home/test/stopTest.sh

[Install]
WantedBy=multi-user.target
复制代码

五、添加到自启动

systemctl enable testJava

六、测试

启动: systemctl start testJava
停止: systemctl stop testJava

附、tomcat自启动service的配置

复制代码
[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/apache-tomcat-8.5.20/tomcat.pid
ExecStart=/usr/local/apache-tomcat-8.5.20/bin/catalina.sh start
ExecReload=/usr/local/apache-tomcat-8.5.20/bin/catalina.sh restart
ExecStop=/usr/local/apache-tomcat-8.5.20/bin/catalina.sh stop

[Install]
WantedBy=multi-user.target
复制代码

1. 需要在catalina.sh中添加CATALINA_PID的参数配置和PID一致。

2. tomcat.service文件放置路径 /lib/systemd/system/

标签:bin,systemd,java,tomcat,test,sh,自启动
From: https://www.cnblogs.com/kn-zheng/p/17023013.html

相关文章

  • 阮一峰JavaScript教程(上2)
    目录3.语法专题数据类型的转换概述强制转换Number()String()Boolean()自动转换自动转换为布尔值自动转换为字符串自动转换为数值参考链接错误处理机制Error实例对象原生错......
  • java集合Collection操作
    CollectionallCollections=newArrayList();//集合里添加数据allCollections.add("testName");//判断即合理是否包含某特定的数据if(al......
  • java国内地址三级、四级联动,附四级联动数据库
    因工作需要地址联动功能,使用java开发实体类importcom.baomidou.mybatisplus.annotation.TableName;importcom.baomidou.mybatisplus.annotation.TableName;importc......
  • NacosException: java.net.UnknownHostException: jmenv.tbsite.net
    第一次接触Nacos,启动时报错(java.net.UnknownHostException:jmenv.tbsite.net)解决方案。错误信息:Causedby:java.net.UnknownHostException:jmenv.tbsite.net......
  • Javascript条件语句
    Javascript条件语句之ifelse1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title>helloworld</title>6</head>......
  • JDK的版本有多少种,Java开发者应该选择哪一种?
    JDK的版本有多少种,Java开发者应该选择哪一种?先说结果,一般情况下,我们多数会选择OpenJDK或者AdoptOpenJDK的JDK实现,因为这是最精简最标准的版本,而且没有商业风险。另外,需要结......
  • java AddressUtils获取地址工具类
    /***获取地址类**@authorruoyi*/publicclassAddressUtils{privatestaticfinalLoggerlog=LoggerFactory.getLogger(AddressUtils.class);......
  • JAVA判断字符串是否包含中文或者包含中文字符
      privatestaticPatternpattern=Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]");/***字符串是否......
  • java IpUtils获取ip工具类
    /***获取IP方法**@authorruoyi*/publicclassIpUtils{/***获取客户端IP**@paramrequest请求对象*@returnIP地址......
  • java 生成uuid
    /***提供通用唯一识别码(universallyuniqueidentifier)(UUID)实现**@authorruoyi*/publicfinalclassUUIDimplementsjava.io.Serializable,Comparable<UUID......