centos服务器重启后,jar包自启动

第一种方法:

systemctl服务自启动

在/usr/lib/systemd/system目录下,创建service:start_jar.servie

bash 复制代码
[Unit]
Description=Your Java Application as a Service
After=network.target
 
[Service]
User=root
Type=simple
ExecStart=/usr/bin/java -jar /data/*.jar
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

启动

bash 复制代码
配置生效:systemctl daemon-reload

启动:systemctl start start_jar.service

启停止:systemctl stop start_jar.service

自启动:systemctl enable start_jar.service

第二种方法:

编写脚本auto_start.sh加载到rc.local启动服务中

如下:自动生成脚本:auto_create.sh

bash 复制代码
#!/bin/bash
ScriptPath=/data/auto_start.sh
ScriptPathb=/data/auto_start_bak.sh
if [ -z "$1" ]; then
    echo "jar包的路径不能为空!"
	exit 1 
	
fi
if [ -f "$ScriptPath" ]; then
    echo "文件存在,需要删除!"
    cp $ScriptPath $ScriptPathb
    touch $ScriptPath	
else
    touch $ScriptPath
	echo "空脚本创建成功"

    echo "#!/bin/bash" >> $ScriptPath
	

    echo "nohup java -jar  $1 >/dev/null 2>&1 &" >> $ScriptPath
	
	echo "脚本初始化成功"

    chmod +x /data/auto_start.sh

    #vim /etc/rc.local 打开添加在最后一行。/data/auto_start.sh
	#备份:rc.local
	cp /etc/rc.local /etc/rc.local_bak
	#加载启动脚本到rc.local
    echo "$ScriptPath" >> /etc/rc.local

    chmod +x  /etc/rc.local
	
	echo "脚本添加到自启动中"

fi

执行脚本

bash 复制代码
sh auto_create.sh jar包路径
相关推荐
泡海椒4 分钟前
JQuick-SQL NoSQL 数据接入:先标准化文档记录,再统一 SQL 查询
1024程序员节
小贺儿开发5 分钟前
《长征 · 征途》Unity 三维互动沙盘
科技·3d·unity·1024程序员节·地形·互动·沙盘
让代码飞19266 分钟前
DSH 数据目录从 C 盘迁到 其他 盘完整教程
1024程序员节
benchmark_cc9 分钟前
量化开发中,什么时候应该停止手动下载股票数据?
python·数据分析·pandas·量化交易·1024程序员节·股票数据·quantdash
passionSnail11 分钟前
DeepSeek V4.1 Flash 高效落地实战指南
1024程序员节
泡茶喝茶写代码18 分钟前
A股量化策略回测实战:从行情数据到绩效评估(第 15 篇):新高新低策略
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
johnsong19 分钟前
AI前沿日报 — 2026年10月24日:AI的边界
1024程序员节
DisonTangor29 分钟前
FLUX 3 Image Klein 中文全解:5.6B 开源文生图与图像编辑模型实战指南
人工智能·ai作画·开源·aigc·1024程序员节
Sakura_j_h_34 分钟前
STM32F103 定时器的三种用法:PWM 输出、输入捕获与编码器接口
stm32·嵌入式·输入捕获·定时器·pwm·编码器·1024程序员节
全栈练习生35 分钟前
Jev 决策模型
python·ai·1024程序员节