欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > linux >内容正文

linux

linux 使用systemctl 设置java进程开机启动,管理springboot开机进程

发布时间:2025/3/11 linux 51 豆豆
生活随笔 收集整理的这篇文章主要介绍了 linux 使用systemctl 设置java进程开机启动,管理springboot开机进程 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

该过程默认已经安装jdk。java程序启动方式有多重,列出如下几种。

1、java -jar demo.jar

使用该命令程序在控制台输出启动,当按下Ctrl+C和关闭终端时,程序会终止。输出日志,在后面加上 > 文件名,如:java -jar demo.jar > demo.log

2、nohup java -jar demo.jar

该命令会后台启动,不打印启动过程,但和上面的一样,关闭终端和按下Ctrl+C时,程序终止。使用该命令会将日志重定向到默认的nohup.out文件中,如果修改指定文件,则在命令后面加上 >> 文件名,即 java -jar demo.jar > demo.log 。如下:

3、java -jar demo.jar &

该命令依旧会在控制台输出启动过程,但按下Ctrl+C和关闭终端('关闭终端不是关闭服务器')时,程序依然运行,并不会关闭。输出日志文件,在命令后面加上 > 文件名即可。即:java -jar demo.jar & > demo.log

4、nohup java -jar demo.jar &

该命令运行不打印启动过程,按下Ctrl+C和关闭终端时,程序依然运行。指定日志文件命令为 nohup java -jar demo.jar >> demo.log &.

5、设置java程序开机自启,首先创建文件,并赋权限 chmod +x demo.sh。

# vim /root/develop/demo.sh

#!/bin/bash

export JAVA_HOME="/root/jdk"

export PATH=$PATH:$JAVA_HOME/bin

nohup java -jar /root/develop/demo-0.0.1-SNAPSHOT.jar >> /root/develop/logs/demo.log &

6、注册服务

#vim /etc/systemd/system/demo.service

[Unit]

Description=Java test service

After=network.target

[Service]

Type=forking

ExecStart=/bin/bash /root/develop/demo.sh

ExecStop=/bin/kill -s QUIT $MAINPID

[Install]

WantedBy=multi-user.target

7、设置服务

# systemctl daemon-reload

# systemctl start demo.service

# systemctl enable demo.service

# systemctl status demo.service

 

为了方便启动jar项目,我们可以使用xxx.service方式。

1. 执行命令,进入到system目录下:

cd etc/systemd/system

2. 创建一个*.service 后缀的文件(设置为自己的项目服务名称),编辑内容

vi harry-admin.service [Unit]Description=harry-admin service #服务描述[Service]WorkingDirectory=/home/kangaroo-parts/ #指定服务的工作目录PrivateTmp=trueRestart=alwaysType=simple #服务启动类型 可选类型有simple forkingExecStart=/usr/java/jdk1.8.0_121/bin/java -Xmx1024m -Xms512m -Xss256k -jar /home/kangaroo-parts/harry-admin.jar #启动命令 ExecStop=/usr/bin/kill -15 $MAINPID #停止命令[Install]WantedBy=multi-user.target

3. 重新载入systemd,扫描新的或有变动的单元

systemctl daemon-reload

4. 启动服务,使用:

systemctl start harry-admin 或systemctl start harry-admin.service

5. 其他常用的命令:

systemctl status harry-admin #查看服务状态systemctl stop harry-admin #停止服务systemctl start harry-admin #启动服务systemctl reload harry-admin #重新加载#设置开机自启动:systemctl enable harry-admin#或systemctl enable harry-admin.service# 又或者不想开机启动:systemctl disable harry-admin#或systemctl disable harry-admin.service

6. 拓展

在service中配置一下参数,可以远程dug调试代码

ExecStart=/usr/java/jdk1.8.0_121/bin/java -Xmx1024m -Xms512m -Xss256k -agentlib:jdwp=transport=dt_socket,serv

总结

以上是生活随笔为你收集整理的linux 使用systemctl 设置java进程开机启动,管理springboot开机进程的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。