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)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值