CentOS开机自动运行jar程序实现

这篇具有很好参考价值的文章主要介绍了CentOS开机自动运行jar程序实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前面已经有一篇文章介绍jar包如何在CentOS上运行,《在linux上运行jar程序操作记录》
后来发现系统重启后不能自动运行,导致每次都要手动打开,这篇介绍如何自动开机启动运行jar程序。

一、找到JDK程序执行位置

[root@localhost /]# which java
/usr/bin/java
[root@localhost /]# ll usr/bin/java
lrwxrwxrwx. 1 root root 22 45 2023 usr/bin/java -> /etc/alternatives/java
[root@localhost /]# ll /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 45 2023 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/bin/java
[root@localhost /]# 

可以看到,最终找到的位置是:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/bin/java

二、创建自动运行脚本文件

在/home目录上创建一个目录autorun,里面创建一个开机时用于执行指令的文件auto_start.sh

[root@localhost bin]# cd /home
[root@localhost home]# mkdir autorun
[root@localhost home]# touch /home/autorun/auto_start.sh
[root@localhost home]# ls
autorun  javaapp  ldsinfo  static  swap  www
[root@localhost home]# cd autorun/
[root@localhost autorun]# ls
auto_start.sh
[root@localhost autorun]# vim auto_start.sh

auto_start.sh文件编写内容如下:

#!/bin/bash
#配置jdk的路径
#export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/
#此处根据自己的JDK路径填写
#export JRE_HOME=${JAVA_HOME}/jre
#export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

#因为我的主机中只有jre目录,jre目录下有bin和lib,所以我就直接写JRE_HOME而不写JAVA_HOME
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre
export CLASSPATH=.:${JRE_HOME}/lib
export PATH=${JRE_HOME}/bin:$PATH
#这里的:$PATH表示将${JRE_HOME}/bin加在原来的环境变量PATH前
 
#有时需要把jar包延时启动(不设置延时启动jar,nacos会提示拒绝连接)
#延时10S运行jar包,需要延时启动则放开sleep注释行 (sleep+数字,表示延迟多少秒启动)
sleep 10
#配置jar包启动的路径 日志生成路径  nohup表示静默启动,不在窗口显示启动日志
#根据自己要执行的JAR包的位置来写
cd /home/javaapp/
nohup java -jar FileUpload.jar >/dev/null 2>&1 &

为自动执行脚本加执行权限:

chmod +x /home/autorun/auto_start.sh

三、在rc.local上加上自动执行脚本文件

vim /etc/rc.local
打开添加在最后一行。

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local

#Java program autorun
/home/autorun/auto_start.sh

然后将这个文件改为可执行

[root@localhost etc]# chmod +x  /etc/rc.local

最后重启后查看:

[root@localhost ~]# ps -ef | grep java
root       1760      1 99 20:56 ?        00:01:03 java -jar FileUpload.jar
root       2433   1938  0 20:56 pts/0    00:00:00 grep --color=auto java
[root@localhost ~]# 

自动启动运行成功!

2023-10-30文章来源地址https://www.toymoban.com/news/detail-719647.html

到了这里,关于CentOS开机自动运行jar程序实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos系统里运行java的jar包

    目前使用springboot开发是嵌入方式的tomcat,不需要单独使用tomcat,那么经常在服务器上运行jar包,这里记录一下在centos7系统里运行jar的方式。 在运行之前需要确定centos7系统是否安装了java环境以及配置环境变量,还有jar需要运行的 jdk版本,比如java jdk1.8 demo地址:Centos系统里运

    2024年02月02日
    浏览(40)
  • 在IDEA上运行成功,打包成jar包后,运行报错,程序自动退出

            java环境不正确,很有可能安装了多个环境,导致程序加载了错误程序。         尝试修改环境变量,如果不行,建议删除掉多余的java环境。          注意:删除掉多余的Java环境需要用程序删除,直接删除文件,容易删不干净。如下图,可以打开程序与功能删除

    2024年01月20日
    浏览(36)
  • CentOS系统环境搭建(八)——CentOS7开机自动执行脚本(以MySQL为例)

    以MySQL为例子 /srv下新建system文件夹 新建脚本run.sh run.sh内容如下 /dev/null 21 将所有输出重定向到空设备,即不输出日志。最后的 符号将命令放到后台运行。

    2024年02月12日
    浏览(57)
  • windows开机运行jar

    windows开机自启动jar包: 一、保存bat批处理文件 @echo off %1 mshta vbscript:CreateObject(\\\"WScript.Shell\\\").Run(\\\"%~s0 ::\\\",0,FALSE)(window.close)exit java -jar E:projectsruoyi-admin.jar E:server.log 21 exit  第二行关闭黑色窗口。 第三行 需要修改为自己的jar包路径, 并指定日志文件输出的路径  exit 执行完毕后

    2024年02月14日
    浏览(37)
  • Android APP开机启动,安卓APP开发自启动,安卓启动后APP自动启动 Android让程序开机自动运行APP

    第一步设置获取广播后的业务 第二查权限给APP 理论以上两步做完就可以了。APP也能收到广播信息了, 但是APP没有在桌面启动。 经过再研究,发现要在手机再设置自动开启等业务,以下是小米、魅族的系统设置的一些内容,其它平台自己研究。 这里已经显示收到广播信息  

    2024年02月06日
    浏览(52)
  • CentOS - NFS实现共享文件夹及开机自动挂载功能

    1、NFS通过RPC远程控制调用实现文件共享功能 (原理) 2、由于NFS是两台或者多个服务器共享,必有一台是需要安装NFS服务的也称之为服务端,其余的服务器(客户端)只安装RPS远程调用就可以实现共享功能(认清谁是服务端,谁是客户端) 安装流程如下: 注意:这里需要检查

    2024年02月07日
    浏览(43)
  • 【Linux】使用Jenkins + svn + springboot自动构建jar包并自动打包在服务器上运行

    👨‍🎓 博主简介   🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊 交流社区: 运维交流社区 欢迎大家的加入! 🐋 希望大家多多支持,我们一起进步!😄 🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏

    2024年04月26日
    浏览(35)
  • Linux环境下运行springboot程序(jar包)

    目录 一.用FinalShell连接虚拟机 FinalShell如何连接服务器? 二.Linux下需要安装Linux版本的JDK和Mysql数据库 三.在Linux下运行SpringBoot程序 1.Boot程序打包依赖SpringBoot对应的Maven插件即可打包出可执行的jar包 2.运行jar包使用jar命令进行 (1)运行以下命令来运行jar文件: (2)按照ip地址

    2024年02月12日
    浏览(41)
  • Inno Setup实现软件开机自动运行的两种方法

    Inno Setup实现软件开机自动启动的两种方法 在许多情况下,我们希望我们的软件能够在操作系统启动时自动启动。对于 Windows 操作系统,可以通过将程序添加到启动组或在注册表的 Run 项中创建值来实现此目的。 有两种不同的方法可以做到这一点: 方法一:在启动组中创建快

    2024年02月06日
    浏览(51)
  • Rocky(centos) jar 注册成服务,能开机自启动

    涉及:1)sh 无法直接运行java命令,可以软连,此处是直接路径 2)sh脚本报一堆空格换行错误:需将转成unix标准格式; 2)SELINUX 授权允许启动sh 脚本 3)SELINUX 授权允许启动写入的日志文件 软连接方法(无需操作)  新建:service_script.sh 脚本 注:需要配置 1)jdk的路径;2)

    2024年02月14日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包