【Linux】使用 systemctl 管理jar包启动
摘自:【Linux】使用 systemctl 管理jar包启动_systemctl jar包-CSDN博客
一、摘要
- 掌握Linux系统服务管理器 systemctl 的使用方法
- 使用 systemctl 启动java服务 + 设置开机自启
- 编写shell脚本,实现手动重启java服务
二、使用 systemctl 管理jar包启动
2.1 systemctl 常用命令
## 1. 查看服务状态 systemctl status 服务名.service ## 2. 启动服务 systemctl start 服务名.service ## 3. 停止服务 systemctl stop 服务名.service ## 4. 重启服务 systemctl restart 服务名.service ## 5. 重新加载 Systemd 配置(不重启服务) systemctl daemon-reload ## 6. 禁用服务的自启动 systemctl disable 服务名.service ## 7. 启用服务的自启动 systemctl enable 服务名.service ## 8. 列出所有服务的状态(使用grep进行过滤) systemctl list-units --type=service | grep 'java' ## 9. 查看服务的日志(需要 journalctl 命令) journalctl -u 服务名.service ## 10. 查看服务的依赖关系 systemctl list-dependencies 服务名.service ## 11. 查看帮助文档 man systemctl
2.2 创建自启动服务
在 /etc/systemd/system/ 目录下,创建 java-demo.service:
[Unit] Description=java-demo After=network.target [Service] Type=simple User=root WorkingDirectory=/usr/local/java/java-demo ExecStart=/usr/local/jdk/jdk11/bin/java -Dspring.profiles.active=test -jar /usr/local/java/java-demo/app-demo.jar Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
2.3 启动服务 + 设置开机自启
systemctl start java-demo.service
systemctl enable java-demo.service
2.4 手动重启服务
创建手动重启 shell 脚本
cd /usr/local/java/java-demo vim restart.sh
#!/bin/bash # 停止 java 服务 sudo systemctl stop java-demo if [ $? -eq 0 ]; then echo "正在停止已运行的 Java 程序..." else echo "停止 Java 程序失败!" exit 1 fi # 等待一段时间确保服务已停止 sleep 5 # 启动 java 服务 sudo systemctl start java-demo if [ $? -eq 0 ]; then echo "正在启动 Java 程序..." else echo "启动 Java 程序失败!" exit 1 fi
posted on 2025-05-05 13:02 wenbin_ouyang 阅读(227) 评论(0) 收藏 举报