# -*- coding: utf-8 -*-
import re
import sys
from subprocess import Popen, PIPE
import os
import time
import commands
def getoutput(command):
print 'start exec command:{}'.format(command).center(20, '-')
p = Popen(command, stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
out, err = p.communicate()
if err:
print out
print 'command exec error: [{}]'.format(command)
sys.exit(1)
else:
return out
def stop_java():
cmd = "ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9" #注意 会杀死所有JAVA 进程
getoutput(cmd)
print("运行java已停止")
def start_java(path_java,java_name):
for i in java_name:
start_command = "exec nohup java -jar %s 2>1& " %os.path.join(path_java, i)
print(start_command)
commands.getoutput(start_command)
print("java已开启")
if __name__ == '__main__':
path_java = '/root/bpmaxx/' #java包的路径
java_name = ["bpmaxx-eureka-1.0.0-SNAPSHOT.jar", "bpmaxx-config-1.0.0-SNAPSHOT.jar", "java -jar bpmaxx-gateway-1.0.0-SNAPSHOT.jar", "bpmaxx-maindata-1.0.0-SNAPSHOT.jar","bpmaxx-system-1.0.0-SNAPSHOT.jar"] #需要启动的文件名
stop_java() # 停
time.sleep(3)
start_java(path_java,java_name) # 开启