服务器重启后自动拉起JAVA应用

2022-11-02  本文已影响0人  漫长的白日梦技术大佬

1.安装JAVA

本文用的是openjdk-8u41-b04-linux-x64-14_jan_2020

2.配置JAVA环境

vim /etc/profile
export JAVA_HOME=/home/jars/openjdk-8u41-b04-linux-x64-14_jan_2020/java-se-8u41-ri
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
mobaxterm截图.png

3.更新配置文件

source /etc/profile
图片.png

4.将自启动文件路径添加到rc.local

在最后一行加入:

/home/test.sh
图片.png

5.写入test.sh文件

vim /home/test.sh
图片.png
#!/bin/bash

source /etc/profile
cd /home/win
for i in `ls /home/win`
do
        var=$i
        nohup java ${var%%.*} &
done

我需要循环的文件全部放在/home/wim文件夹里面


图片.png

6.放入两个测试文件

Test1.java和Test2.java


图片.png
图片.png
图片.png

Test1.java:

import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;

public class Test1 {

        public static void main(String args[]) {
                FileWriter fw = null;
                PrintWriter pw = null;
                try{
                File file = new File("/root/test1.txt");
                fw = new FileWriter(file,true);
                pw = new PrintWriter(fw);
                String hello = "hello, Test1!";
                while(true){
                        pw.append(hello+ ""+ System.currentTimeMillis() +"\n");
                        pw.flush();
                        fw.flush();
                }
                }catch(Exception e) {
                 e.printStackTrace();
                }finally {
                        try {
                                pw.close();
                                fw.close();
                        }catch(Exception e) {
                                e.printStackTrace();
                        }
                }
        }

}

Test1.java

Test2.java:

import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;

public class Test2 {

        public static void main(String args[]) {
                FileWriter fw = null;
                PrintWriter pw = null;

                try{
                File file = new File("/root/test2.txt");
                fw = new FileWriter(file,true);
                pw = new PrintWriter(fw);
                String hello = "hello, Test2!\n";
                pw.append(hello);
                pw.flush();
                fw.flush();
                }catch(Exception e) {
                 e.printStackTrace();
                }finally {
                        try {
                                pw.close();
                                fw.close();
                        }catch(Exception e) {
                                e.printStackTrace();
                        }
                }
        }

}

Test2.java

7.配置执行权限

chmod +x /home/win
chmod +x /home/Test1.java
chmod +x /home/Test2.java
chmod +x /home/test.sh
chmod +x /home/jars/openjdk-8u41-b04-linux-x64-14_jan_2020/java-se-8u41-ri

8.编译java文件

编译后会生成2个文件


图片.png

将.class文件放入/home/win文件夹
运行这两个java文件。


图片.png
运行一次后会生成这两个文件,在/root目录下
图片.png

观察这两个文件中的内容,注意Test1.java是一个死循环。

9.reboot后,观察test1.txt和test2.txt文件多了内容,即证明开机自启动。

注意!!!!test1.Java注意用了就停,服务器容易跑崩!!!!嘿嘿!崩了不许怪我!

上一篇 下一篇

猜你喜欢

热点阅读