Python - 执行Linux脚本配置JRE/JDK并启动jar包

/ 前言 /

      我们在自动化部署流程中通常会碰到如何在一台纯净的服务器上面自动配置JRE, 今天给大家分享一下如何使用Python脚本运行shell配置JRE, 和无窗启动jar包, JDK的配置同理

/ 配置JRE /

# -*- coding: UTF-8 -*-

import sys
import os
import mod_config
import subprocess


# 配置jre
def config_jre():
    jre_path = mod_config.getConfig('linux', 'jrePath')
    try:
        print("配置JRE环境ing")
        os.system(" echo 'export JRE_HOME=" + jre_path + "/' >>/etc/profile")
        os.system(' echo "PATH=\$JRE_HOME/bin:\$PATH" >> /etc/profile')
    except:
        print("JRE环境配置处出现问题,安装终止")
        sys.exit(1)
    print("JRE install success!")
    subprocess.Popen('bash -c source /etc/profile; ls',shell=True)
    p = subprocess.Popen('java -version', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    is_success = False
    while p.poll() is None:
        line = p.stdout.readline()
        line = line.strip()
        try:
            if 'Java(TM)' in line.decode('utf-8'):
                is_success = True
                break
        except:
            print('JRE安装失败,请重新运行JRE安装包')
    if is_success:
        print('JRE安装成功!')
    else:
        print('JRE安装失败,请重新运行JRE安装包')


if __name__ == '__main__':
    config_jre()

输出

JRE install success!

java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

/ 启动jar包 /

如果希望启动时无弹窗将.py修改为.pyw即可, 运行方式一致

import os
import platform
import subprocess

operating = platform.system()
# -Dspring.config.location是用于指定启动jar包时的外部配置文件
line = 'java -jar -Dspring.config.location=application.properties xxx.jar > log.log'
if operating == 'Linux':
	# 跳转到jar包所在目录
    os.chdir('script/java-script')
    line = 'nohup ' + line + ' &'
elif operating == 'Windows':
    os.chdir(r'script\java-script')
    line = line
else:
    print("Can't Work On your Platform Now!")
subprocess.Popen(line, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
原创文章 42 获赞 51 访问量 1万+

猜你喜欢

转载自blog.csdn.net/F1004145107/article/details/106036472
今日推荐