最近刚刚学了一些将Java程序打成jar包,并在Centos 中作为服务启动的知识,所以做一个小小的笔记。
以打好包的Demo-0.0.1.jar 为例:
启动脚本 Demo-service.sh
#!/bin/sh export JAVA_HOME= #对应的 jdk 位置 export PATH=$JAVA_HOME/bin:$PATH nohup java -jar /root/Demo-0.0.1.jar & echo $! > /root/Demo.pid #将上一次启动的pid 写入到指定文件
停止脚本 Demo-service-stop.sh
#!/bin/sh PID=$(cat ~/Demo.pid) kill -9 $PID
编写注册服务 Demo.service 放到目录 /usr/lib/systemd/system
[Unit] Description=Demo After=network.target [Service] Type=forking ExecStart=/root/Demo-service.sh #启动服务脚本的绝对路径 ExecStop=/root/Demo-service-stop.sh #停止服务脚本的绝对路径. PrivateTmp=true [Install] WantedBy=multi-user.target
相关操作
systemctl start Demo #启动 Demo 服务 systemctl stop Demo #停止 Demo 服务 systemctl status Demo #查看 Demo 服务当前的运行状态 systemctl enable Demo #开机启动 Demo 服务 systemctl disable Demo #取消开机启动 Demo 服务 systemctl list-unit-files; #查看当前服务(是否开机启动等)状态



