Linux CentOS8 开机jar包自启

1.编写脚本jarLauncher.sh

vim jarLauncher.sh
# !/bin/bash

## JDK start 配置自己服务器的JDK环境
export JAVA_HOME=/usr/local/jdk8

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar

export PATH=$PATH:$JAVA_HOME/bin
## JDK end

# 有多少个jar就后面加上去就好
nohup java -jar /faces/faces.jar >/faces/faces.log 2>&1 &

其中 2> 表示把标准错误(stderr)重定向,尖括号后面可以跟文件名,或者是&1, &2,分别表示重定向到标准输出和标准错误;避免报错的问题:执行sh文件报错 nohup: redirecting stderr to stdout

2.授予脚本执行权限

chmod 777 jarLauncher.sh

3.编辑 rc.local文件,加入jar启动脚本

cd /etc/rc.d/

vim rc.local

4.系统启动后,在加载完所有组件后会以root身份执行rd.local的命令。给rc.local可运行权限

chmod 777 rc.local

### Linux 系统 JAR 开机 自动 动 设置 方法 #### 使用 `rc.local` 文件实现开机 为了使 JAR 能够在 CentOS 7.6 中随系统动而自动运行,可以利用 `/etc/rc.d/rc.local` 文件。此文件允许用户添加特定命令,在每次系统引导时执行这些指令[^1]。 对于希望作为服务动的 JAR 应用程序而言,创建一个 Shell 脚本来封装该应用是一个常见做法。假设应用程序位于 `/root/java/MessageForwarding.jar` 并命名为 `MessageForwarding.sh` 的脚本负责调用它,则需确保给定路径下的 `.sh` 和 `.jar` 文件都具有可执行权限: ```bash chmod +x /etc/rc.d/rc.local chmod +x /path/to/your/shell_script.sh ``` 上述命令分别设置了两个重要位置上的文件属性——前者是为了让整个系统的初始化过程能够读取并处理其中的内容;后者则是针对具体业务逻辑编写的批处理任务给予适当的操作许可[^2]。 #### 创建Shell脚本用于管理JAR 考虑到实际应用场景中的灵活性需求以及便于维护等因素,建议单独建立一个新的 shell script 来控制目标 jar 文件的行为模式。下面给出了一种可能的方式定义这样一个名为 MessageForwarding.sh 的脚本实例: ```bash #!/bin/bash nohup java -jar /root/java/MessageForwarding.jar & echo $! > /var/run/message_forward.pid ``` 这段代码片段实现了无守护进程方式动指定位置处存储着的应用镜像,并记录其 PID 至临时目录以便后续监控或停止操作之用[^3]。 #### 注册为Systemd服务单元 (推荐) 尽管前述两种方案均能达成目的,但在现代版本的 Linux 发行版里更推崇采用 systemd 这样的高级别工具来管理系统级的服务生命周期。因此,如果条件允许的话,还可以考虑把要定期激活的任务注册成正式的服务组件形式存在。这通常涉及到编写一段配置描述符放置于 `/etc/systemd/system/` 目录之下,比如叫做 `myapp.service` : ```ini [Unit] Description=My Application Service After=syslog.target network.target [Service] User=root ExecStart=/usr/bin/java -jar /root/java/MessageForwarding.jar SuccessExitStatus=143 Restart=on-failure StandardOutput=file:/var/log/myapp.log StandardError=file:/var/log/myapp.err [Install] WantedBy=multi-user.target ``` 保存更改之后记得刷新 daemon 配置缓存并通过 enable 命令将其加入默认多用户状态的目标依赖列表内,从而保证即使机器重新上电也能正常加载所关联的各项资源和服务功能[^4]。 最后一步就是验证一切工作是否按预期那样顺利进行了。可以通过重计算机来进行测试,待到完全进入桌面环境后再借助如下所示的方法确认后台是否有对应的 Java 实例正在活跃当中: ```bash ps aux | grep 'java' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值